Nachrichtenverabeitung eines Child Windows
-
Naja,
bisher würde mir ja ein click darauf schon reichen.
Das Problem ist einfach dass ich nicht weiss wie ich in der Callback - Funktion zwischen dem Fenster und dem Button unterscheide.
-
da dein button ein child von deinem fenster ist fängst du nachrichten in der
wndproc ab.CreateWindow("ERSTES FENSTER","button",WS_BORDER | WS_CHILD | BS_ICON |BS_PUSHLIKE ,0,0,50,50,hWindow,1001,0,0);case WM_COMMAND: if (HIWORD(wParam) == BN_CLICKED) { switch (LOWORD(wParam)) { case 1001: MessageBox(hWnd, "btn click", "btn click", MB_OK);[edit]tags vergessen
[edit 3] letzter versuch
-
Hallo, danke für die Antworten,
aber leider funzt es immer noch nicht.
Ich bekomme auch schon einen Übersetzungsfehler wenn ich deine CreateWindow - Methode verwende
(Konvertierung des Parameters 10 von 'const int' in 'struct HMENU__ *' nicht moeglich).
Vielleicht hat noch jemand Rat?
-
casten.
CreateWindow("ERSTES FENSTER","button",WS_BORDER | WS_CHILD | BS_ICON |BS_PUSHLIKE ,0,0,50,50,hWindow,(HMENU)1001,0,0);
-
Ich bekomm zwar keinen Fehler mehr, aber die MessageBox taucht trotzdem nicht auf

Das kann doch nicht so schwierig sein die richtigen Empfänger für Fenster (Button)
zu ermitteln.
-
noch einen fehler gefunden, der class name war falsch
CreateWindow("BUTTON","label",WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,0,0,50,50,hWindow,(HMENU)1001,0,0);http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowfunctions/createwindow.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/buttons/buttons.asp
-
Danke, etz klappts

-
So, etz hätt ich noch eine kleine Frage und zwar:
Ich hab mir das ganze mit dem Spy - Tool angesehen. Nun ist es so dass beim anklicken des Buttons gar keine WM_COMMAND - Nachricht bei dem Button ankommt.
Wie kann das dann überhaupt funktionieren?
Ich bin verwirrt....
-
Die WM_COMMAND kommt beim PARENT des CHILDS (dem Button) an...
-
Ahhhhh.... verstehe
danke