Accelerator funktionieren nicht...
-
Hoi was ist an diesem Code falsch, ich kann den Fehler einfach nicht finden...
// => Load the Accelerator Table HACCEL haAccel; haAccel = LoadAccelerators(hInstance, MAKEINTRESOURCE(ACC_MAIN)); (haAccel == NULL ? fAccelSuccess = false : fAccelSuccess = true); // => Main Message Loop while(GetMessage(&msgApp, (HWND)NULL, 0, 0) && fAccelSuccess ? (!TranslateAccelerator((HWND)NULL, haAccel, &msgApp)) : true)) { DispatchMessage(&msgApp); TranslateMessage(&msgApp); }merci schonmal!
-
Du musst schon ein Fenster angeben, an das die entsprechenden WM_COMMAND Nachrichten gesendet werden sollen! NULL geht nicht
-
du solltest außerdem zusätzlich zum Tipp von Martin Richter noch deine Message Loop so umbauen:
// => Load the Accelerator Table HACCEL haAccel; haAccel = LoadAccelerators(hInstance, MAKEINTRESOURCE(ACC_MAIN)); (haAccel == NULL ? fAccelSuccess = false : fAccelSuccess = true); // => Main Message Loop while(GetMessage(&msgApp, (HWND)NULL, 0, 0)) { if((fAccelSuccess ? (!TranslateAccelerator((HWND)NULL, haAccel, &msgApp)) : true)) { DispatchMessage(&msgApp); TranslateMessage(&msgApp); } } // !!!! // HIER! // !!!! // normalerweise: return (msgApp.wParam);da dein Programm sonst sofort nach dem Erhalten eines Accelerator-Befehls an meinem Kommentar (HIER!) ankommt, d.h. i.d.R. beendet wird...
-
@Martin Richter: das wars, danke!
@CodeFinder: jop habs gemerkt
!ok, Probl. gelößt, danke euch beiden!
