problem mit erstellen eines Dialogs, wos der fehler?



  • tach'chen, ich moechte eine DialogBox erstellen mit 2buttons die erstmal nicht mehr machen ssollen als.. "beep" und das fenster schliessen also die dlgBox.... irgendwie wills net funktionieren woran liegts???

    // ... in der WinProc
    
    LRESULT CALLBACK WinProc( HWND hWnd, UINT message,
                              WPARAM wParam, LPARAM lParam ) {
    
       switch( message) {
    
             case WM_COMMAND: {
    
                switch( wParam ) {
    
                    case IDM_NEW: {
    
                        MessageBeep( 0 );
                        return 0;
                    }
    
                    case IDM_OPEN: {
    
                        DialogBox( hInstance, MAKEINTRESOURCE( IDD_DIALOG0 ),
                                   hWnd, Dialog1Proc );
                        return 0;
                    }
    
                    case IDM_QUIT: {
    
                        SendMessage( hWnd, WM_CLOSE, 0, 0 );
                        return 0;
                    }
                }
            }
        //...
    
     //in der Dialog1Proc()
    
     int CALLBACK Dialog1Proc( HWND hWnd, UINT message,
                               WPARAM wParam, LPARAM lParam ) {
    
        switch( message ) {
    
            case WM_INITDIALOG: {
    
                return 0;
            }
    
            case WM_COMMAND: {
    
                switch( wParam ) {
    
                    case IDOK: {
    
                        MessageBox( hWnd, " You pressed \"Fuck You! - Button \" !",
                                          " Congratulation!",
                                    MB_OK | MB_ICONINFORMATION );
                        EndDialog( hWnd, IDOK );
    
                        return true;
                    }
    
                    case IDCANCEL: {
    
                        EndDialog( hWnd, IDCANCEL );
                        return true;
                    }
                }
            }
        }
        return false;
    }
    
    //in der .rc datei schauts so aus
    
    IDD_DIALOG0 DIALOG 50, 50, 350, 250
    
    STYLE DS_MODALFRAME | DS_CENTER | DS_CENTERMOUSE | WS_POPUP | WS_VISIBLE | WS_CAPTION
    
    BEGIN
        LTEXT "Tach'chen, schreib mal was rein! :", 500, 10, 10, 150, 30
        EDITTEXT 600, 160, 10, 70, 40
        DEFPUSHBUTTON "Fuck You!", IDOK, 30, 100, 50, 20
        PUSHBUTTON "Fuck Off!", IDCANCEL, 130, 100, 50, 20
    END
    

    was ist hier falsch??? 😕



  • gib ma WM_INITDIALOg true zurück. Außerdem: was isn der fehler? also was funktionikert nich?



  • das problem ist die DialogBox() funktion.... die will nicht alles andere arbeitet super..... die fehler:

    [C++ Error] menu.cpp(129): E2034 Cannot convert 'int (__stdcall *)(void *,unsigned int,unsigned int,long)' to 'int (__stdcall *)()'
    [C++ Error] menu.cpp(129): E2342 Type mismatch in parameter 'lpDialogFunc' (wanted 'int (__stdcall *)()', got 'int (__stdcall *)(void *,unsigned int,unsigned int,long)')
    


  • Maxi schrieb:

    gib ma WM_INITDIALOG true zurück.

    Der Rüchgabewert nach Verarbeitung dieser Message gibt nur an, ob der Dialog Keyboardfokus erhalten soll oder nicht.

    Aber die Fehlerbeschreibung des OP ist ja wieder mal genial...

    Greetz, Swordfish



  • Kacke!



  • toll und was hilft mir das nun weiter? ich weiss immernoch nicht was ich tun soll... wie gesagt es liegt an der Funktion DialogBox()



  • (DLGPROC) cast ...



  • jop super das wars funktioniert alles thanx, bis zum naechsten mal xD


Anmelden zum Antworten