Einzelnen Beitrag anzeigen

golisan

Registriert seit: 17. Jan 2007
43 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Text in einem "fremden" Fenster markieren

  Alt 1. Aug 2007, 22:43
Hi bitsetter,

das tut leider nicht, da das Fenster kein edit enthält.
Das andere Fenster(es ist ein Editor einer anderen Programmiersprache), hat auch eine Suchenfunktion, die mit STRG-F aufgerufen werden kann. Habe es auch schon geschafft mit
Delphi-Quellcode:
Keybd_Event(vk_control,0,0,0);
Keybd_Event(VkKeyScan('f'),0,0,0);
Keybd_Event(VkKeyScan('f'),0,KEYEVENTF_KEYUP,0);
Keybd_Event(vk_control,0,KEYEVENTF_KEYUP,0);
den Suchen-Dialog von meinem Programm aus aufzurufen.
Das hilft zwar nicht unbedingt, da ich eigentlich nicht will, daß man diesen Dialog sieht, aber als ich mit Winspector geschaut habe, was da pasiert, habe ich gesehen, daß dieser Suchen-Dialog von der Klasse #32770 abstammt. Also ein Standard-Win-API.
Jetzt hatte ich gleich zwei Ideen auf einmal
1. kann ich nicht einfach einen TFindDialog erzeugen und ihm als Owner das Handle des Editors geben?
Das Problem dabei ist, dass der create ein TComponent verlangt ich aber "nur" ein HWND habe. Kann
man das irgendwie "konvertieren"?(TComponent(hwnd) geht nicht). Oder geht TFindDialog nur mit (Rich)Edits?
2. falls das mit dem TFindDialog nicht geht, kann ich mit CreateWindow mir so einen Such-Dialog
"erschaffen"
sowas wie
CreateWindow(Ex)(WS_EX_TOPMOST??,'#32770','Find',WS_OVERLAPPED??,100,100,200,200,hwnd,null,0,0); (wobei ich hier nicht richtig weiß, wie ich die Parameter bestücken soll)
und wie schicke ich dann meine Suche los.
Da der Editor den Standard(#32770)-Dialog verwendet, muss er auch eine entsprechende Schnittstelle besitzen um mit dem #32770 kommunizieren zu können.
Uff .. viel geschrieben ... aber mir raucht schon das Hirn ...
Merci
  Mit Zitat antworten Zitat