Doppelklick auf EDIT-Control
-
Hallo,
ich gerade mal wieder eine Speicherlücke in meinem Kopf (vielleicht ein verirrter Zeiger
). Ich stelle mir nun schon 1h lang die Frage wie ich ein WM_LBUTTONDBLCLK auf ein EDIT-Control abfangen kann. Aber ich finde keine Idee. Bitte gibt es jemand der eine hat ???
-
Du wirst das EditControl wohl oder übel subclassen müssen über SetWindowLong und GWL_WNDPROC. Das heißt, du schreibst eine extra WindowProc für dein Edit-Control und benutzt dann SetWindowLong(), um dem Control die neue WindowProc zuzuordnen.
BTW: Nicht vergessen, am Ende der neuen WindowProc das Ergebnis von CallWindowProc() zurückzugeben. Kein DefWindowProc()!!! Im ersten Parameter von CallWindowProc() schreibst du die vorige WindowProc des Edit-Controls. Diese wiederum bekommst du als WNDPROC oder FARPROC beim Aufruf von SetWindowLong() zurück.
-
Ei,jei,jei, so kompliziert hatte ich es mir nicht vorgestellt, geht das nicht auch einfacher, schließlich sendet das EDIT ja auch ein paar Messages. Vielleicht kann man hieraus was draus machen.
-
Ist doch ganz einfach, hört sich nur schwer an.
-
Original erstellt von BiGFusel:
Ei,jei,jei, so kompliziert hatte ich es mir nicht vorgestellt, geht das nicht auch einfacher, schließlich sendet das EDIT ja auch ein paar Messages. Vielleicht kann man hieraus was draus machen.No way. Hab auch schon geguckt. Geht nicht anders. Aber das ist wirklich nicht schwer. Vielleicht sollte mal jemand was zum Thema SubClassing in die FAQ stellen.
-
kann man nur hoffen das bei der edit-klasse auch der classstyle CS_DBLCLKS gesetzt ist
-
Keine Sorge Hopefully. Diesen Style hat jedes von den Standardsteuerelemten.
-
Ok, hier was zum Thema SubClassing von http://home.t-online.de/home/pikfloete/schnipsel/subclassing.html
cu