JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=8c78edbd8b2f4692712b8b821e36557cMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

DialogBox

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
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

BeitragVerfasst am: 18.03.2003, 18:08    Titel: DialogBox Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Starwash
Senior JLI'ler


Alter: 39
Anmeldedatum: 22.09.2002
Beiträge: 252
Wohnort: Zossen (bei Berlin)
Medaillen: Keine

BeitragVerfasst am: 18.03.2003, 19:06    Titel: Antworten mit Zitat

Hi,
also in den generierten Codes des VC++ hatten die DialogBoxen immer eigene Callbacks.

Gruss Tarek
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
VerruecktesHuhn
Super JLI'ler



Anmeldedatum: 30.07.2002
Beiträge: 492
Wohnort: Stuttgart
Medaillen: Keine

BeitragVerfasst am: 18.03.2003, 21:19    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
abc_d
JLI Master Trainee


Alter: 34
Anmeldedatum: 27.01.2003
Beiträge: 615

Medaillen: Keine

BeitragVerfasst am: 19.03.2003, 10:29    Titel: Antworten mit Zitat

danke!
_________________
http://mitglied.lycos.de/sarti/linuxisevil.gif Linux is evil - get the fact.

Never touch a running System - der Systemling
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
abc_d
JLI Master Trainee


Alter: 34
Anmeldedatum: 27.01.2003
Beiträge: 615

Medaillen: Keine

BeitragVerfasst am: 19.03.2003, 11:30    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
The Lord of Programming
Living Legend


Alter: 36
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 21.03.2003, 18:42    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
abc_d
JLI Master Trainee


Alter: 34
Anmeldedatum: 27.01.2003
Beiträge: 615

Medaillen: Keine

BeitragVerfasst am: 23.03.2003, 12:17    Titel: Antworten mit Zitat

Alle also das von der exe und menü/taskleiste.
_________________
http://mitglied.lycos.de/sarti/linuxisevil.gif Linux is evil - get the fact.

Never touch a running System - der Systemling
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
The Lord of Programming
Living Legend


Alter: 36
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 23.03.2003, 12:20    Titel: Antworten mit Zitat

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. Wink


Und das Icon der Exe wurde AFAIK schon im Forum besprochen. Rolling Eyes
_________________
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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
abc_d
JLI Master Trainee


Alter: 34
Anmeldedatum: 27.01.2003
Beiträge: 615

Medaillen: Keine

BeitragVerfasst am: 25.03.2003, 17:33    Titel: Antworten mit Zitat

Das wndClass.hIcon hat das exe symbol verändert und das wndClass.hIconSm das icon im programm selbst Smile.
_________________
http://mitglied.lycos.de/sarti/linuxisevil.gif Linux is evil - get the fact.

Never touch a running System - der Systemling
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
The Lord of Programming
Living Legend


Alter: 36
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 26.03.2003, 16:17    Titel: Antworten mit Zitat

Embarassed

Gut zu wissen^^!!!
_________________
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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
abc_d
JLI Master Trainee


Alter: 34
Anmeldedatum: 27.01.2003
Beiträge: 615

Medaillen: Keine

BeitragVerfasst am: 27.03.2003, 14:19    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
The Lord of Programming
Living Legend


Alter: 36
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 27.03.2003, 14:23    Titel: Antworten mit Zitat

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. Laughing
_________________
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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum