Forum: Sonstige Fragen zu Delphi
Delphi
by marabu,
15. Jun 2007
Hallo,
wir können ein Fenster (Edit1 o.ä.) erst fokusieren, wenn es auch sichtbar ist. Da wir kein Ereignis haben, welches NACH einem Seitenwechsel im TabbedNoteBook ausgelöst wird, müssten wir eigentlich öfter mal nachschauen, ob es inzwischen soweit ist.
Ich habe mich von folgender Überlegung leiten lassen: Die Ausführung des Codes für das Ereignis OnChange() ist Teil des eigentlichen...
Forum: Sonstige Fragen zu Delphi
Delphi
by marabu,
14. Jun 2007
Hallo,
du hast Recht. Es gibt Probleme, wenn man einfach nur die Fokusierung auf Windows-Ebene durchführt. Da kein Ereignis nach dem Seitenwechsel ausgelöst wird, führe ich eine Custom Message ein:
const
UM_SETFOCUS = WM_USER;
type
TDemoForm = class(TForm)
Forum: Sonstige Fragen zu Delphi
Delphi
by marabu,
14. Jun 2007
Hallo,
in meiner Clean Room Umgebung tritt dieses Phänomen nicht auf. Ich vermute, dass dein sonstiger Code das Fehlverhalten produziert.
Freundliche Grüße
Forum: Sonstige Fragen zu Delphi
Delphi
by marabu,
14. Jun 2007
Guten Morgen,
das Ereignis OnChange() wird beim TabbedNoteBook vor dem eigentlichen Seitenwechsel ausgelöst, deshalb kann der Focus nicht sofort auf das neue Control gesetzt werden:
procedure TDemoForm.TabbedNotebookChange(Sender: TObject; NewTab: Integer;
var AllowChange: Boolean);
begin
case NewTab of
0: PostMessage(Edit1.Handle, WM_SETFOCUS, 0, 0);