Bonjour,
Dans mon appli, une fiche s'ouvre en modale.
A sa fermeture, la fiche qui est restée visible dessous ne focus sur aucun contrôle.
Comment pourrais faire que le focus se place sur un Tedit à la fermeture de la fiche modale?
Le code d'appel de la fiche modale:
Code de validation de la fiche modale:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 frmPlnSelector.ShowModal;
Si je fais:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 Procedure TfrmPlnSelector.Validate; begin lblMessage.Caption:= 'Loading route... Please wait...'; if fmControlPanel.chkRwyAutoSel.Checked then lblMessage.Caption:= 'Loading route... Please wait, runway auto select may take a few more seconds...'; Application.ProcessMessages; btnOK.Enabled:= False; if lbxPln.Items[lbxPln.ItemIndex] = 'No *.PLN file found...' then begin btnOK.Enabled:= False; frmTripPlanner.edIcaoCode.Text:= ''; ResetAirportData; Self.ModalResult:= mrOK; Exit; end; GstrFlightPlan:= GstrPlanFolder + '\' + lbxPln.Items[lbxPln.ItemIndex]; GetFlightPlan; if GbooFpFound then begin btnOK.Enabled:= True; end else begin lblMessage.Caption:= 'Departure airport (' + GstrIcaoDep + ') mismatch...'; end; end;
Après l'appel de la fiche modale, il n'y a pas de prise de focus par le contrôle edIcaoCode.
Code : Sélectionner tout - Visualiser dans une fenêtre à part edIcaoCode.SetFocus
Le code d'annulation fonctionne parfaitement et le focus va bien au contrôle souhaité.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 procedure TfrmPlnSelector.Cancellation; begin frmTripPlanner.edIcaoCode.Text:= ''; ResetAirportData; frmTripPlanner.pnlStatusLeft.Color:= clRed; frmTripPlanner.pnlStatusLeft.Caption:= 'Waiting'; frmTripPlanner.pnlStatusRight.Caption:= ' Select departure airport...'; Self.ModalResult:= mrCancel; end;
Merci de vos conseils
Cordialement
Pierre
Partager