Wurde in das Static Control meiner Resource geklickt?
-
Wie findet man heraus ob in ein Label (Satic Control) einer Dialog-Resource (erstellt mit MsVC 6.0) geklickt wurde?
Ich nehm an das geht mit dem MessageHanlder von der Dialog-Resource – etwa so:LRESULT CALLBACK Dialog_Resource(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_INITDIALOG: Init(hDlg); break; case WM_CLOSE: TheEnd = true; EndDialog(hDlg, 0); break; case WM_COMMAND: switch(LOWORD(wParam)) { case STATIC_CONTROL: MessageBox(NULL, "Es wurde in das Static Control geklickt!", "Info", MB_OK); break; default: break; } break; default: break; } return FALSE; };
Leider funktioniert es so nicht ganz – kann mir jemanden vielleicht helfen?
-
wie ist der Bezeichner für dein label?
heisst es wirklich STATIC_LABEL? nicht irgendetwas mit ID_....
-
Ich glaube, dass man einfach dem Static eine ID geben und den SS_NOTIFY-Style setzen muss. Dann müsste es eigentlich funzen.
-
> wie ist der Bezeichner für dein label?
> heisst es wirklich STATIC_LABEL? nicht irgendetwas mit ID_....Ursprünglich weiß MsVC beim basteln des Dialogs dem Label (Static Control – wie es in der MSDN genannt wird) die ID IDC_STATIC zu ich habe diese ID geändert auf STATIC_LABEL – es sollte doch trotzdem funktionieren – oder?
In den resource.h steht: #define STATIC_LABEL 1002
> Ich glaube, dass man einfach dem Static eine ID geben und den SS_NOTIFY-Style setzen muss. Dann müsste es eigentlich funzen
Danke – funktioniert – es fehlte SS_NOTIFY-Style – im Ressourceneditor habe ich einfach das Kontrollfeld „Benachrichtigung“ aktiviert – und dann funktionierte es
Weiß zufällig jemand auf die Schnelle wie ich die Position ermitteln kann wo geklickt wurde im Label ausgehen von der linken oberen Ecke des Labels (also Relative Koordinaten zur Linken oberen Ecke des Labels) – ansonsten wühl ich mich weiter durch die Msdn CD?