Hi,
mal wieder in Problem.
Ich will für verschiedene Formatierungen eine Toolwindow einblenden. Dieses soll nur erscheinen, wenn der Focus auf eine entsprechende Control gesetzt wird.
Soweit, so gut.
Als Toolwindow nehmen ich eine ganz normale Form mit .FormStyle=fsStayOnTop.
Zusätzlich habe ich ihr im OnShow
SetWindowPos(Self.Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
verpasst.
Funktioniert auch.
Im OnEnter des Controls positioniere ich das Toolwindows und mache es mittels
Delphi-Quellcode:
frm_toolwnd.show;
edt_richtext.SetFocus;
frm_toolwnd.SetButtons(edt_richtext.SelAttributes);
sichtbar. Auch das kein Problem.
Jetzt ist aber leider so, dass der Focus nicht an mein edt_richtext zurückgelangt. Ich kann das edt_richtext, aus dessen OnEnter-Ereignis das Toolwindow aufgerufen wird, nicht anlicken, es erhält keinen Cursor. Jedes andere Control (Edit, Combobox, ...) aber schon.
Ich muß erst irdendwas auf dem Toolwindow anklicken, so dass dieses den Focus erhält. Z.B. die Titelleiste. Danach kann ich das edt_richtext auf der Form2 anklicken, ich habe dann auch der Cursor und kann auch was reinschreiben.
Bevor nicht das Toolwindows kurz den Focus hat, kann ich dem edt_richtext nichts schreiben.
edt_richtext ist ein JvRichEdit. Ich habe das aber auch mal mit einem TEdit probiert, gleiches Verhalten.
Wie gesagt, alle anderen Controls auf Form2 verhalten sich aber ganz normal.
Hat einer eine Idee?