DialogProc will nicht als Parameter ...



  • warum lernst du eigentlich nicht erstmal vernünftig WinAPI?
    Glaub mir: das geht viel schneller und macht auch viel mehr spaß als hier ständig zu posten und auf antworten warten zu müssen, die man z.T. nicht versteht, da man das nötige Hintergrundwissen nicht hat.
    Wie definierst du "... muckt"?
    Die Radiobuttons senden dir AFAIK eine WM_NOTIFY-Message. Aber das brauchst du im Prinzip nicht, du kannst ja bei Bedarf jederzeit nachschauen, ob sie gecheckt sind.
    Ich möchte dir auch die msdn: msdn.microsoft.com nahelegen, wo alles ausführlichst erklärt wird!

    MfG



  • ja ... aber da mal was zu finden.

    Im Moment möchte ich einfach RadioButtons verknüpfen und die Nachrichten der CHildWindows verarbeiten. Aber wo soll ic hsuchen???

    danke.



  • Jetzt habe ich gelesen, dass man um die Radios zu verknüpfen einfach den selben Namen geben muss.

    Ich arbeite mit dem Resource Builder. Aber was für einen Namen???
    Ich sehe da nur Caption. Aber soll ich ihnen die selbe CONTROL_ID geben?

    Danke.

    // Naja, das gruppen-prob mit WS_GROUP ist gelöst.
    Aber wenn ich akuf einen Radio-Button klicke, kackt das Programm immer ab. Warum???
    Wie kann ich das unterbinden???

    Das ist meine Resource:

    /*********************************************
    File: C:\DOKUMENTE UND EINSTELLUNGEN\BESITZER\EIGENE DATEIEN\DIALOG.RC
    Generated by Resource Builder (2.6.2.0).
    *********************************************/
    #include <windows.h>
    #include "script.h"
    
    /*
    OutputExt=res
    */
    ID_DIALOG_MAIN DIALOG -1, 0, 110, 135
    STYLE DS_FIXEDSYS |DS_SETFONT |WS_POPUP |WS_VISIBLE |WS_SYSMENU |WS_THICKFRAME |WS_MAXIMIZEBOX |WS_MINIMIZEBOX |WS_CAPTION 
    CAPTION "Alarm Clock"
    FONT 8, "Ms Shell Dlg"
    LANGUAGE LANG_NEUTRAL, 0
    BEGIN
      CONTROL "Alarm time",0,"BUTTON",BS_GROUPBOX |WS_CHILD |WS_VISIBLE ,5,0,100,70
      CONTROL "Action",1,"BUTTON",BS_GROUPBOX |WS_CHILD |WS_VISIBLE ,5,70,100,60
    
      CONTROL "Date",2,"STATIC",SS_LEFT |WS_CHILD |WS_GROUP |WS_VISIBLE ,10,10,90,8
      CONTROL "Time",3,"STATIC",SS_LEFT |WS_CHILD |WS_GROUP |WS_VISIBLE ,10,40,90,8
    
      CONTROL "",4,"SysDateTimePick32",WS_CHILD |WS_TABSTOP |WS_VISIBLE ,10,20,90,14
      CONTROL "",5,"SysDateTimePick32",WS_CHILD |WS_TABSTOP |WS_VISIBLE |0x9,10,50,90,14 	
    
      CONTROL "Alarm Beep",6,"BUTTON",BS_RADIOBUTTON |BS_LEFT |WS_CHILD |WS_TABSTOP |WS_VISIBLE |WS_GROUP ,10,80,90,10
      CONTROL "Alarm Siren",7,"BUTTON",BS_RADIOBUTTON |BS_LEFT |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,10,90,90,10
      CONTROL "Shutdown",8,"BUTTON",BS_RADIOBUTTON |BS_LEFT |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,10,105,90,10
      CONTROL "Restart",9,"BUTTON",BS_RADIOBUTTON |BS_LEFT |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,10,115,90,10
    END
    

    Und wie kann ich die Steuerelemente auseinander halten?

    Danke.

    // LEUTE!! kann mir niemand was dazu sagen oder ein Tut linken???
    THX. brauche unbedingt hilfe. fnde kein tut oder irgend was ähnliches.



  • Lies erstmal Petzold, dann musst du nicht mehr so dumme Fragen stellen. Dir fehlen einfach alle Grundlagen, wenn du ehrlich bist, verstehst du überhaupt nicht, was du da machst. Das ist nicht als Flame gemeint, aber lies bitte erstmal ein einführendes Buch über WinAPI. Dann kriegst du solchen Kram auch ganz alleine hin.



  • Script-Styler schrieb:

    was kommt denn bei der INITCOMMONCONTROLSEX struktur bei dwICC rein.
    konnte das nirgends finden.

    ➡ http://search.msdn.microsoft.com/search/Default.aspx?query=INITCOMMONCONTROLSEX&brand=msdn&locale=en-us&refinement=00&lang=en-us

    Edit: Kann mich aber 100%-ig Lunix0 anschließen.



  • naja ich habe halt kein Buch^^^.
    Das müsste ich mir dann erstmal besorgen.

    Aber mal davon abgesehen:
    Die sachen mit Windows-Nachrichten, WinMain, Maus/Tastatur...
    Das kann ich ja schon alles. => ohne buch.
    Nur jetzt möchte ich child windows haben.
    Dazu habe ich mir einen Dialog erstellt, da einen Button reingemacht.
    Aber er stürzt dauernt ab.
    Von diesem Button habe ich nur eine ID. Wie bekomme ich den Handle.
    Und warum stürzt er ab??

    das könnte mir doch einfach mal jemand erklären. Damit wäre mir sehr gut geholfen^^.



  • Die sachen mit Windows-Nachrichten, WinMain, Maus/Tastatur...
    Das kann ich ja schon alles. => ohne buch.

    ach du bist schon so weit dass du dir traust das beurteilen zu können? Dann dürfte der Rest dir wohl auch keine Probleme machen...

    Aber er stürzt dauernt ab.

    diese Information bringt uns exakt _nichts_.

    Von diesem Button habe ich nur eine ID. Wie bekomme ich den Handle.
    Und warum stürzt er ab??

    Warum er abstürzt? Mist, meine Kristallkugel ist gerade kaputt!
    Aber die Funktion die du suchst lautet GetDlgItem(...). Nähere Informationen siehe MSDN.

    das könnte mir doch einfach mal jemand erklären. Damit wäre mir sehr gut geholfen^^.

    du würdest dir auch einen großen gefallen tun mehr eigenständigkeit zu zeigen.



  • 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



  • 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