Vedek Bareil
2002-12-30, 22:39:56
ich bin z.Z. ein Windows-Programm am schreiben (unter Dev-C++), das mehrere Schaltflächen enthält, von denen jede eine andere Aktion auslösen soll, wenn sie angeklickt wird.
Laut C. Petzold: "Windows-Programmierung" muß ich dazu in die switch-Verzweigung der Window-Prozedur (des Programmfensters) ein case WM_COMMAND eintragen, und unter dem dann die Fenster-ID der geklickten Schaltfläche abfragen, etwa so:
switch(message)
...
case WM_COMMAND:
if (Fenster-ID von Button1)
{Aktion 1}
if (Fenster-ID von Button2)
{Aktion 2}
...
nur schweigt sich Petzold darüber aus, was ich denn statt "Fenster-ID von Button1" eintragen muß. Er mach wohl eine Andeutung, daß das über LOWORD(wParam) funktioniert, erläutert das aber nicht näher. Ich hab das dann mal so probiert, daß ich die Fenster-ID von Button1 als (HMENU) 1 festgelegt und die Abfrage in der Form
if(LOWORD(wParam) = (HMENU) 1)
{Aktion 1}
realisiert habe, aber das klappt nicht.
Laut C. Petzold: "Windows-Programmierung" muß ich dazu in die switch-Verzweigung der Window-Prozedur (des Programmfensters) ein case WM_COMMAND eintragen, und unter dem dann die Fenster-ID der geklickten Schaltfläche abfragen, etwa so:
switch(message)
...
case WM_COMMAND:
if (Fenster-ID von Button1)
{Aktion 1}
if (Fenster-ID von Button2)
{Aktion 2}
...
nur schweigt sich Petzold darüber aus, was ich denn statt "Fenster-ID von Button1" eintragen muß. Er mach wohl eine Andeutung, daß das über LOWORD(wParam) funktioniert, erläutert das aber nicht näher. Ich hab das dann mal so probiert, daß ich die Fenster-ID von Button1 als (HMENU) 1 festgelegt und die Abfrage in der Form
if(LOWORD(wParam) = (HMENU) 1)
{Aktion 1}
realisiert habe, aber das klappt nicht.