Windows Prozedur für KindFenster
-
Hallo,
Ich habe ein Fenster erstellt und darin ein neues Fenster, nämlich eine ListBox.
Nun habe ich eine Frage, ist es möglich eine Windows Prozedur nur für mein KindFenster, die ListBox zu erstellen, wo ich Dinge wie:
WM_LBUTTONDOWN
WM_COMMANDetc. abfangen kann?
Vielen Dank und frohe Wheinachten!
-
Ja es ist möglich mit einer eigenen WindwsProcedur die kannst du wie die WndProc schreiben und dann beim erstellen deiner ListBox angeben, bei Create.
Mfg Anon
:xmas1:
-
Danke für deine Antwort!
Das verstehe ich nur leider nicht ganz, denn meine Windows Prozedur für mein Mainfenster schreibe ich ja in eine WNDCLASSEX-Struktur, soll ich nun für jedes Element eine solche Struktur erstellen und angeben???
-
Die Proc kannst du in deiner Ressource Datei bekanntmachen.
Und dann in deine main Datei schreiben, wie die normale WndProc.
Für weitere Informationen kannst du hier gucken:
http://pronix.linuxdelta.de/C/win32/win32_5.shtmlMfg Anon :xmas1:
-
Für besetehende Fenster oder fensterklassen wie Listboxen benötigt man keine Fenster-Prozedur, denn diese Klassen bringen ja ihre eigene mit.
Über WM_COMMAND/WM_NOTIFY Nachrichten wird das Parent unterrichtet was passiert.Wenn man wirklich mal an die Fensterprozedur selbst ran muss, weil man das Verhalten des Controls beeinflussen möchte, dan verwendet man Subclassing oder Superclassing (siehe Google).
-
Für 'editbox' mache ich das mit 'subclassing'. Dann hat man eine eigene Prozedur, in der alle Nachrichten ankommen bevor diese vom Parentfenster bearbeitet werden. Man kann dann selbst entscheiden, was gemacht werden soll. Ich denke, mit 'listbox' geht das genauso. 'Subclassing' hat den Vorteil, dass man mehrere Child-Fenster mit einer Prozedur überwachen kann. Das ist aber leider nicht in allen Details schnell erklärt und braucht etwas Mühe für die Umsetzung. Melde dich wieder oder schicke mir eine email, wenn du für diesen Vorschlag mehr Hilfe brauchst.