Modaler Dialog und Nachrichtenschleife



  • Wenn du es wirklich so machst wie du grad gepostet hast ist es kein Wunder, dass es nicht funktioniert!
    Du musst bei DialogBox als 4. Parameter schon auch deine DialogProc angeben (wie auch im Tipp von <-King-> zu sehen ist)



  • Ja sorry, das ist ein Schreibfehler, ich könnte ja gar nicht kompilieren, wenn ich der Funktion zu wenig Parameter übergeben würde...



  • zeig uns endlich deinen code. ist ja zum verrücktwerden hier 😡



  • Na schön ich zeige euch den Code, doch ich habe das Gefühl, dass dies auch nicht viel bringen wird:

    #include <windows.h>
    #include "resource.h"
    
    bool __stdcall DlgProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam){
     switch(uMsg){
      case WM_INITDIALOG:
       return true;
      case WM_DESTROY:
       EndDialog(hWnd,0);
       return true;
      default:
       return false;
     }
    }
    
    int __stdcall WinMain(HINSTANCE hInst,HINSTANCE hPrevInst,LPSTR lpCmdLine,int nShowCmd){
     DialogBox(hInst,MAKEINTRESOURCE(IDD_DLG),0,(DLGPROC)&DlgProc);
     return 0;
    }
    

    So, der Dialog besteht aus einem Fenster und 2 Buttons. Ausser den 2 Buttons wird aber nichts gezeichnet !! 😕
    Ich habe also 2 Buttons mitten auf meinem Desktop, aber keinen Fensterrahmen oder sonst was...

    Gruss Ishildur



  • DER RÜCKGABEWERT DER DIALOGPROC IST BOOL NICHT bool !!! 😡 😡 😡



  • **&**DlgProc

    Da ist ja wohl was zuviel, oder? Der cast ist übrigens nicht nötig, wenn man es richtig macht. Da hätten schon längst die Alarmglocken läuten müssen!



  • @gerber
    Du hattest recht, mit BOOL anstatt mit bool hat es geklappt. Was ich nicht so ganz nachvollziehen kann, ist, weshalb du so unglaublich sauer auf mich bist, dass du gleich 3 von diesen roten dingern zeichnen musstest ?? 😉

    Naja wie auch immer, ich bin dir auf jedem Fall sehr dankbar !!
    Gruss Ishildur

    P.S.
    Ist den BOOL keine 32-Bit Variable ??



  • die smilies mach ich immer und überall. hat nichts mit dir zu tun 😡 😡 😡

    BOOL == int

    bool == bool



  • @King
    Hallo King, weisst du ich mache immer ein & bei Funktionspointer aus Gründen der Lesbarkeit !
    Wegen des Cast gebe ich dir Recht, da habe ich mich auch gefragt, wieso dieser Nötig ist, aber er stand nun mal so im Beispiel der MSDN. Also dachte ich das hat wieder etwas mit einer Typenrefenition zu tun...



  • Und was ist TRUE bzw FALSE ??
    Ach ja, habs gerade ausprobiert: bool ist eine 8-Bit Variable...


Anmelden zum Antworten