Einzelnen Beitrag anzeigen

Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#1

Toolwindow aufrufen und zurück zur aufrufenden Form

  Alt 10. Sep 2014, 13:57
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?
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat