Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Anonymous

unregistriert

1

09.11.2005, 17:10

Dialog wird nit Angezeigt

Warum wir die DialogBox nicht angezeigt?

Code:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
// Globale Variablen

HWND g_hMainDlg; // Handle des Hauptdialogs



// Textbuffer zur Ausgabe des Textes (Game Over, Neu Starten, Pause)

char TextBuffer[256];


INT_PTR CALLBACK MainDlgProc(HWND hDlg, unsigned int uiMsg, WPARAM WParam, LPARAM LParam);


// Windows main-Funktion

int WINAPI WinMain(HINSTANCE hInstance,      
                   HINSTANCE hPrevInstance,  
                   LPSTR lpCmdLine,          
                   int nCmdShow)             
{       

    ;

 
    // Spiel intialisieren


    DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAPEDITOR), NULL, MainDlgProc);

      
       
    // Rückgabewert an Windows

    return 0;
}




INT_PTR CALLBACK MainDlgProc(HWND hDlg,
                             unsigned int uiMsg,
                             WPARAM WParam,
                             LPARAM LParam)
{
    g_hMainDlg = hDlg;

    MessageBox(0, "hallo2","hallo2",MB_OK);

    switch(uiMsg)
    {
        case WM_INITDIALOG:
            MessageBox(0, "INIT","hallo",MB_OK);
            break;


        case WM_CLOSE:
            
            EndDialog(hDlg, 2);
            break;
    }

    return TRUE;
}


Die MessageBox Hallo2 wird einpaarmal angezeigt und dann ist ende.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

2

09.11.2005, 17:15

würde jedenfalls mal das einfügen:

C-/C++-Quelltext

1
2
  default:
    return false;
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Anonymous

unregistriert

3

09.11.2005, 17:17

hilft nix

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

4

09.11.2005, 17:26

return TRUE durch return FALSE ersetzen im URSPRÜNGLICHEN Code

Anonymous

unregistriert

5

09.11.2005, 17:30

jup des wars. DANKE für die schnelle Antwort (16 min :top: )

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

6

09.11.2005, 17:41

Hmm ich komme mir vor wie ein Anfänger.

C-/C++-Quelltext

1
Typically, the dialog box procedure should return TRUE if it processed the message, and FALSE if it did not. If the dialog box procedure returns FALSE, the dialog manager performs the default dialog operation in response to the message.


Die funktion sollte also false zurückliefern wenn sie nichts damit anfangen kann(default: return false) und wenn sie was gemacht hat true. Durch das return false würde man ja behaupten man würde nie was tun, was zu Probs führen könnte.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Anonymous

unregistriert

7

09.11.2005, 17:43

ich glaub übrigens nimmer dass es daran geliegen hat..
an dem return FALSE, da
ich einen neuen dialog gemacht hab und der hat funktioniert. Es Liegt wohl an einigen Steuerelementer, mit denen er nicht klarkommt.

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

8

09.11.2005, 17:53

es lag an dem return FALSE. siehe Nox'is letztes Posting. Du musst irgendwas falsch gemacht haben bei dem 2. Dialog.

Nox nimm dir einfach noch nen Kaffee ^^

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

9

09.11.2005, 17:57

Sag das doch gleich :-D du musst erst InitCommonControlsEx ausführen
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

10

09.11.2005, 19:01

was meinst du damit? oO

Werbeanzeige