Dialogfenster erstellen



  • hallo, ich versuche in dieser verfluchten win-api so ein dummes simples dialogfenster zu machen, wo wirklich nur ein popeliger button drauf ist. Aber wenn der dialog startet friert das ganze fenster ein und ich kann nur noch abwürgen.

    ich hab den aufruf von meinem dialog einfach mal da eingebunden, wo normalerweise der aufruf für die "About"-Box ist, wenn man sich die standard vorlage für ein win-api programm in visual studio erzeugen lässt.

    es kann doch nicht so schwer sein, so ein dummes fenster hinzubekommen

    INT_PTR CALLBACK	Graka(HWND, UINT, WPARAM, LPARAM);
    
    ........................
    LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
    	int wmId, wmEvent;
    	PAINTSTRUCT ps;
    	HDC hdc;
    
    	switch (message)
    	{
    	case WM_COMMAND:
    		wmId    = LOWORD(wParam);
    		wmEvent = HIWORD(wParam);
    		// Menüauswahl bearbeiten:
    		switch (wmId)
    		{
    		case IDM_\1:
    			//DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
    			DialogBox(hInst, MAKEINTRESOURCE(IDD_GRAKA), hWnd, Graka);
    			break;
    		case IDM_EXIT:
    			DestroyWindow(hWnd);
    			break;
    		default:
    			return DefWindowProc(hWnd, message, wParam, lParam);
    		}
    		break;
    	case WM_PAINT:
    		hdc = BeginPaint(hWnd, &ps);
    		// TODO: Hier den Zeichnungscode hinzufügen.
    		EndPaint(hWnd, &ps);
    		break;
    	case WM_DESTROY:
    		PostQuitMessage(0);
    		break;
    	default:
    		return DefWindowProc(hWnd, message, wParam, lParam);
    	}
    	return 0;
    }
    
    ........................
    
    INT_PTR CALLBACK Graka(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
    {
    	switch (message)
    	{
    	case WM_INITDIALOG:
    		return (INT_PTR)TRUE;
    
    	case WM_COMMAND:
    		if (LOWORD(wParam) == IDC_OKI )
    		{
    			EndDialog(hDlg, LOWORD(wParam));
    			return (INT_PTR)TRUE;
    		}
    		break;
    	}
    	return (INT_PTR)FALSE;
    
    }
    


  • An Deinem Code (den Du zeigst) liegt's nicht.

    greetz, Swordfish


Anmelden zum Antworten