DialogProc will nicht als Parameter ...



  • Ascharan schrieb:

    Wenns um sowas geht schlies ich mich den beiden an lies erstmal den Petzold

    & lies da noch n bissle
    Hier http://www.winapi.net
    Hier http://www.winprog.org/tutorial/
    Hier http://www.win-api.de/tutorials.php

    Danke mann. den ersten/letzten kannte ich schon und hab auch viel gelesen.
    den anderen les ich grad de tuts.

    thx.



  • so, aber wie mache ich dasss, das er den Radio-Buton selektiert, und alle anderen nicht.
    macht er irgendwie nicht.
    ich habe mal ihn zum Test piepen lassen, macht er, erstürzt nicht ab.
    aber der Radio ist immer noch leer.

    case WM_COMMAND:
    		switch (LOWORD(wParam))
    		{
    		case ID_DIALOG_MAIN_ALARM:
    		case ID_DIALOG_MAIN_SIREN:
    		case ID_DIALOG_MAIN_SHUTDOWN:
    		case ID_DIALOG_MAIN_RESTART:
    			switch (HIWORD(wParam))
    			{
    			case BN_CLICKED:
    				Beep(440,1000);
    				return 0;
    			}
    			return DefDlgProc(hDlg,message,wParam,lParam);
    		case IDCANCEL:
    			EndDialog(hDlg,0);
    			return 0;
    		case IDOK:
    			return 0;
    		default:
    			return DefDlgProc(hDlg,message,wParam,lParam);
    		}
    		break;
    


  • Böser "er" !!! Aber gut, dass der Piep nicht abstürzt.

    Sorry, aber könntest Du Deine Fehlerbeschreibung nicht ein wenig präzisieren, ähhh genauer machen ?



  • wenn ich auf einen Radio-button klicke, dann wird er nicht markiert.



  • Script-Styler schrieb:

    so, aber wie mache ich dasss, das er den Radio-Buton selektiert, und alle anderen nicht.
    macht er irgendwie nicht.
    ich habe mal ihn zum Test piepen lassen, macht er, erstürzt nicht ab.
    aber der Radio ist immer noch leer.

    Du brauchst das Style-Flag BS_AUTORADIOBUTTON, wenn das automatisch gemacht werden soll. Andernfalls unter dem entsprechendem Command-Handler mit CheckDlgButton (ggfs. auch IsDlgButtonChecked) den Zustand manuell setzen. Ersteres ist aber einfacher und in den meisten aller Fälle ausreichend.

    Script-Styler schrieb:

    case WM_COMMAND:
    		switch (LOWORD(wParam))
    		{
    		case ID_DIALOG_MAIN_ALARM:
    		case ID_DIALOG_MAIN_SIREN:
    		case ID_DIALOG_MAIN_SHUTDOWN:
    		case ID_DIALOG_MAIN_RESTART:
    			switch (HIWORD(wParam))
    			{
    			case BN_CLICKED:
    				Beep(440,1000);
    				return 0;
    			}
    			return DefDlgProc(hDlg,message,wParam,lParam);
    		case IDCANCEL:
    			EndDialog(hDlg,0);
    			return 0;
    		case IDOK:
    			return 0;
    		default:
    			return DefDlgProc(hDlg,message,wParam,lParam);
    		}
    		break;
    

    Nimm den Aufruf von DefDlgPrc raus, das ist überflüssig! Hätte man auch gesehen, wenn man ein Tutorial durchgearbeitet hätte... .

    PS: ➡ Den Petzold gibts gebraucht bei eBay und auch bei Amazon.



  • Script-Styler schrieb:

    wenn ich auf einen Radio-button klicke, dann wird er nicht markiert.

    Nur das ?
    🙂



  • @CodeFinder: Thx thx.
    das BS_AUTORADIOBUTTON style hab ich gesucht.

    Und das mit dem DefDlgProc hab ich da nur rein gemacht, weil ich es von dem WndProc gewohnt war. Naja.


Anmelden zum Antworten