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"