Einzelnen Beitrag anzeigen

Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#4
  Alt 23. Jan 2003, 13:42
Zitat von Hansa:
zu 2 : Die Box soll verschwinden, sobald klar ist, daß das Editfeld im Moment nicht gebraucht wird. sobald es betreten wird, soll die Box aufklappen, wobei natürlich die Möglichkeit der Auswahl gegeben sein muß. Ich müßte nur rausfinden ob der Focus in einem Feld <> WGedit UND <> Listbox ist. Nur wie? .....
Hai Hansa,

das ist relativ einfach zu lösen.

Ich habe es eben mal mit mehreren Edits und einer ComboBox auf dem Formluar getestet.

Im OnEnter vom Edit1 schreibst Du:

Delphi-Quellcode:
procedure TForm1.Edit1Enter(Sender: TObject);
begin
   ComboBox1.Visible := True;
end;
Das ist ja auch klar.

Jetzt kommt der grosse Zauber.

Im OnExit des Edits schreibst Du:

Delphi-Quellcode:
procedure TForm1.Edit1Exit(Sender: TObject);
begin
 If Not (ActiveControl = ComboBox1) then
  begin
   ComboBox1.Visible := False;
  end;
end;
ActiveControl wird nämlich gesetzt BEVOR das OnExit ausgelöst wird
Und so weisst Du zu welchem Control der Anweder gewechselt hat.

So, jetzt noch in das OnExit der ComboBox:

Delphi-Quellcode:
procedure TForm1.ComboBox1Exit(Sender: TObject);
begin
 If Not (ActiveControl = Edit1) then
  begin
   ComboBox1.Visible := False;
  end;
end;
Und fertig ist der Lack...
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat