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

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

11

27.11.2005, 11:54

ein paar tipps:

BeginPaint() und EndPaint() sollte man nur im zusammenhang mit einer WM_PAINT nachricht verwenden.

hast du kontrolliert, ob deine HDCs und BRUSHes gültig sind.

warum zerstörst du 4 fenster und erzeugst ein neues, wenn man auf einen knopf drückt?
da der neue knopf zurück heißt, denk ich mal du machst sowas wie einen assistenten oder so, wo man über mehrere dialogseiten geht.
wäre es nicht besser, alle buttons zur ladezeit zu erstellen und dann die jeweiligen buttons mittels ShowWindow() sichtbar/unsichtbar zu machen?

achja, größe und position des fensters kannst du bei CreateWindow() bereits angeben, das MoveWindow() danach wird damit überflüssig.

12

27.11.2005, 13:08

Wie krieg ich raus ob hdc gültig ist?
Etwa mit dem debugger?
Der zeigt mir bei hdc und hwnd unused an und dahinter steht "kann nicht ausgewertet werden" oder so.

__stdcall*

Treue Seele

Beiträge: 101

Wohnort: Dauchingen

Beruf: Schüler

  • Private Nachricht senden

13

27.11.2005, 13:35

Hi,

prüf einfach ob hdc nicht NULL ist!

C-/C++-Quelltext

1
2
3
4
5
if (hdc == NULL)
{
    // ... Code für Fehlerbehandlung

    // z.B. ne Messagebox oder Log-Eintrag

}


__stdcall*

Anonymous

unregistriert

14

27.11.2005, 13:55

__stdcall*
Wie in der Elektrotechnik sollte man auch im Dev mit NANDs arbeitern und nicht mit ANDs. Daher:

C-/C++-Quelltext

1
2
3
4
5
6
if (pointer != NULL)
 // gibt etwas


// 

if (!pointer)
//    gibt nix

15

27.11.2005, 18:40

Danke für die vielen Antworten.
Ich werd mal weiter probieren.

16

27.11.2005, 19:17

Ich hab jetzt mal getestet ob hdc und brush gültig sind.

Quellcode

1
2
3
4
5
6
7
8
if(hdc != 0)
        {
    MessageBox(NULL, "gültig", "hdc", MB_OK | MB_ICONEXCLAMATION);
        }
if(brush != 0)
    {
      MessageBox(NULL, "gültig", "BRUSH", MB_OK | MB_ICONEXCLAMATION);
    }


sind beide gültig.

17

28.11.2005, 19:44

Gehen tuts aber immer noch nicht.
Das Rechteck wird einfach nicht angezeigt. ???

Werbeanzeige