2tes Fenster???



  • @T2.0

    Ich hatte ja meinen Befehl schon gepostet...der Unterscheidet sich nciht von dem was in der MSDN steht...



  • Aber klaro, sonst würde es ja gehen, oder? Befolge meinen Rat und es wird gehen.



  • na ich will mal nicht so sein.

    void ErrorMessage( PTCHAR lpErrorMsg ) {
    	TCHAR szSysMsg[256], szMsg[1024];
    	DWORD dwEnum;
    
    	dwEnum = GetLastError();
    	FormatMessage( FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS |
    		FORMAT_MESSAGE_MAX_WIDTH_MASK, NULL, dwEnum,
    		MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), szSysMsg, 256, 0 );
    
    	_sntprintf( szMsg, 1024, _T("%s(%d)"), szSysMsg, dwEnum );
    	MessageBox( NULL, szMsg, lpErrorMsg, MB_ICONERROR );
    }
    
    ...
    ...
    
    if(!CreateDialog(blabla))
    ErrorMessage("CreateDialog");
    


  • Tue ich ja gerne..
    Was räts du mir??
    Mit WS_Visible passiert iach nichts...



  • zeige mal das ganze prog in einem rutsche



  • Okey...

    Meine Prozedur für mein Neues Fenster:

    BOOL CALLBACK Test(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
    
        switch (message)
    	{
         case WM_INITDIALOG:
    		{
    			MessageBox(hWnd,"test,"test",MB_OK);
    		}
    		default:
    		return FALSE;
    
        }
    }
    

    Hauptfenster

    case WM_COMMAND: 
    		switch(LOWORD(wParam))//Was haben wir geklickt??
    		{
    
    		case ButtonPlay:
    			//ConnectSockets(hwnd);
    			CreateDialog(hInstance,MAKEINTRESOURCE(IDD_Bewertung),hwnd,Bewertung);
    			break;
    
    		}
    		break;
    	default:
    		return FALSE;
    	}
    


  • Okey...

    HINSTANCE hInstance=NULL;
    

    Meine Prozedur für mein Neues Fenster:

    BOOL CALLBACK Test(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
    
        switch (message)
    	{
         case WM_INITDIALOG:
    		{
    			MessageBox(hWnd,"test,"test",MB_OK);
    		}
    		default:
    		return FALSE;
    
        }
    }
    

    Hauptfenster

    case WM_COMMAND: 
    		switch(LOWORD(wParam))//Was haben wir geklickt??
    		{
    
    		case ButtonTest:
    			//ConnectSockets(hwnd);
    			             CreateDialog(hInstance,MAKEINTRESOURCE(IDD_Test),hwnd,Test);
    			break;
    
    		}
    		break;
    	default:
    		return FALSE;
    	}
    


  • Dein hInstance is auch NULL. Mach hInstance mal weg bei CreateDialog schonmal und mach stattdessen GetModuleHandle(0) dahin. Dann checkste mal ob CreateDialog == NULL zurückgibt und wenn ja, machste mal die Funktion von mir oben rein und schreibst was die sagt also

    HWND hWndDlg;
    
            case ButtonTest:
                //ConnectSockets(hwnd);
                             if( (hWndDlg = CreateDialog(hInstance,MAKEINTRESOURCE(IDD_Test),hwnd,Test)) == NULL )
                                                  ErrorMessage("CreateDialog");
                             else
                                  ShowWindow(hWndDlg, SW_SHOW); 
                break;
    
            }
    

    so ungefär



  • Beim GetLastError schreit er bei dieser Zeile:

    _sntprintf( szMsg, 1024, _T("%s(%d)"), szSysMsg, dwEnum );

    Kann das sein weil ich mit C kompiliere?



  • @T2.0!

    Vielen vielen Dank!
    Es funktioniert jetzt!!

    Danke nochmals 😉


Anmelden zum Antworten