Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
abc_d JLI Master Trainee
Alter: 34 Anmeldedatum: 27.01.2003 Beiträge: 615
Medaillen: Keine
|
Verfasst am: 18.03.2003, 17:08 Titel: DialogBox |
|
|
Code: |
case ID_HILFE_INFOS:
DialogBox(NULL,MAKEINTRESOURCE(IDD_DIALOG),hwnd,NULL);
break;
|
Ich will eine DialogBox erstellen, dass funktioniert zwar (und das menü dank MSDN und dem Thema Menu hier) aber ich kann sie nicht schließen.
Hängt das mit dem rückgabewert oder mit dem letzten parameter zusammen? Muss ich extra eine Callback funktion dafür machen? _________________ http://mitglied.lycos.de/sarti/linuxisevil.gif Linux is evil - get the fact.
Never touch a running System - der Systemling |
|
Nach oben |
|
|
Starwash Senior JLI'ler
Alter: 40 Anmeldedatum: 22.09.2002 Beiträge: 252 Wohnort: Zossen (bei Berlin) Medaillen: Keine
|
Verfasst am: 18.03.2003, 18:06 Titel: |
|
|
Hi,
also in den generierten Codes des VC++ hatten die DialogBoxen immer eigene Callbacks.
Gruss Tarek |
|
Nach oben |
|
|
VerruecktesHuhn Super JLI'ler
Anmeldedatum: 30.07.2002 Beiträge: 492 Wohnort: Stuttgart Medaillen: Keine
|
Verfasst am: 18.03.2003, 20:19 Titel: |
|
|
Du musst beim erstellen deines Dialogs als letzten Parameter deine "selbstgemachte" Callback funktion übergeben. Der Funktionsprototyp einer solchen:
Code: |
BOOL CALLBACK NameOfYourCallback(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
Dann solltest du innerhalb dieser Callback entweder noch die Nachricht des Buttons abfangen, bei dem der Dialog beendet werden soll, oder die Nachricht WM_CLOSE (oder QM_QUIT, bin mir nich so sicher) abfragen und in beiden Fällen mit "EndDialog()" darauf reagieren. |
|
Nach oben |
|
|
abc_d JLI Master Trainee
Alter: 34 Anmeldedatum: 27.01.2003 Beiträge: 615
Medaillen: Keine
|
|
Nach oben |
|
|
abc_d JLI Master Trainee
Alter: 34 Anmeldedatum: 27.01.2003 Beiträge: 615
Medaillen: Keine
|
Verfasst am: 19.03.2003, 10:30 Titel: |
|
|
Wenn ich das jetzt so mache:
HINSTANCE hInst;
DialogBox(hInst,MAKEINTRESOURCE(IDD_DIALOG),hwnd,DIALOGCALLBACK);
und eine Callbackfunktion erstelle:
Code: |
BOOL CALLBACK DIALOGCALLBACK(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg)
{
case WM_COMMAND:
switch LOWORD(wParam)
{
case IDOK:
EndDialog(hwnd, LOWORD(wParam));
break;
case WM_QUIT:
EndDialog(hwnd, LOWORD(wParam));
break;
}
break;
}
return true;
}
|
dann sieht man nur die Schaltflächen und das was ich dazugeschrieben habe.
Wie ändere ich eigentlich das icon? _________________ http://mitglied.lycos.de/sarti/linuxisevil.gif Linux is evil - get the fact.
Never touch a running System - der Systemling |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 21.03.2003, 17:42 Titel: |
|
|
Welches Icon meinst du denn?
Das Icon für die Exe oder das Icon, das auf der Taskleiste und auf der Titelleiste erscheint. _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
abc_d JLI Master Trainee
Alter: 34 Anmeldedatum: 27.01.2003 Beiträge: 615
Medaillen: Keine
|
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 23.03.2003, 11:20 Titel: |
|
|
Also das von der Taskleiste müsste eigentlich so gehen:
Code: | wndClass.hIcon = LoadIcon(hInstance,MAKEINTRESOURCE(IDI_Icon)); |
Vorher musst du aber das Icon als Resource einfügen.
Und das Icon der Exe wurde AFAIK schon im Forum besprochen. _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
abc_d JLI Master Trainee
Alter: 34 Anmeldedatum: 27.01.2003 Beiträge: 615
Medaillen: Keine
|
Verfasst am: 25.03.2003, 16:33 Titel: |
|
|
Das wndClass.hIcon hat das exe symbol verändert und das wndClass.hIconSm das icon im programm selbst . _________________ http://mitglied.lycos.de/sarti/linuxisevil.gif Linux is evil - get the fact.
Never touch a running System - der Systemling |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
|
Nach oben |
|
|
abc_d JLI Master Trainee
Alter: 34 Anmeldedatum: 27.01.2003 Beiträge: 615
Medaillen: Keine
|
Verfasst am: 27.03.2003, 13:19 Titel: |
|
|
Wie oben schon (aber schlecht) erklärt habe ich aber noch das problem das bei meinem Dialogfenster kein Hintergrund und Titelleiste ist! _________________ http://mitglied.lycos.de/sarti/linuxisevil.gif Linux is evil - get the fact.
Never touch a running System - der Systemling |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 27.03.2003, 13:23 Titel: |
|
|
Da bin ich jetzt überfragt. Aber vielleicht könntest du dir mal den Aufbau einer MFC-Anwendung anschauen. Vielleicht kannst du aus dem Datensalat etwas erkennen. _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
|