Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Leax Mini JLI'ler
Anmeldedatum: 15.07.2003 Beiträge: 43
Medaillen: Keine
|
Verfasst am: 18.10.2003, 16:27 Titel: BeginPaint und EndPaint |
|
|
Ich setzte mich gerade mal wieder mit dem GDI auseinander.
Wenn cih jetzt in einem Fenster per GDI Text, zum Beispiel von Fehlermeldungen ausgeben will, wie muss ich das denn machen?
Ich musste
feststellen, dass man nru einmal BeginPaint und nur einmal EndPaint aufrufen kann.
Wenn man es mehrmals macht, dann ignoriert der Compiler das anscheinend.
Oder geht das doch anders?
Wie würdet ihr das mit dem GDI und der Fehlermeldungsausgabe innerhalb eines Windowsfensters machen. |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 18.10.2003, 16:54 Titel: |
|
|
Mehrmals BeginPaint und EndPaint ??? Warum ?
Ausgeben tu ich Fehlermeldungen entweder mit dem ASSERT Makro oder durch trace. _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
Leax Mini JLI'ler
Anmeldedatum: 15.07.2003 Beiträge: 43
Medaillen: Keine
|
Verfasst am: 18.10.2003, 17:06 Titel: |
|
|
na und wie funktioniert das? |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 18.10.2003, 17:41 Titel: |
|
|
Das TRACE Makro:
Code: |
int a=10;
TRACE("Die Variable a hat den Inhalt: %d",a)
Ausgabe im unteren Fenster:
Die Variable a hat den Inhalt: 10
|
Das ASSERT Makro (wird nur in der Debug-Version benutzt):
Code: |
int a;
a=-1;
ASSERT(a<0); //AssertMeldung mit vielen Informationen wird ausgegeben
a=1;
ASSERT(a<0); //es wird keine Meldung ausgegeben
|
Dann gibt es analog zum ASSERT Makro noch das VERIFY Makro das auch in der Release Version arbeitet und einen Rückgabewert liefert:
Code: |
int a=10;
if(VERIFY(a<0))
{
//hier den Code ausführen fals alles in Ordnung ist
}
|
_________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
Leax Mini JLI'ler
Anmeldedatum: 15.07.2003 Beiträge: 43
Medaillen: Keine
|
Verfasst am: 18.10.2003, 18:06 Titel: |
|
|
was für header müssen inkludiert sein |
|
Nach oben |
|
|
Leax Mini JLI'ler
Anmeldedatum: 15.07.2003 Beiträge: 43
Medaillen: Keine
|
Verfasst am: 18.10.2003, 18:08 Titel: |
|
|
gibt es eine FUnktion die Windows zwingt das Fenster zu aktualisieren?
Also neu zu malen? |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 18.10.2003, 19:49 Titel: |
|
|
Du must eine Nachricht mit SendMessage senden (WM_PAINT ?).
Es müssen eigentlich keine Header Datein eingebunden werden. Wenn es doch der Fall sein sollte dann schau mal in der Hilfe nach. _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
Mr.X Junior JLI'ler
Anmeldedatum: 15.04.2003 Beiträge: 88
Medaillen: Keine
|
Verfasst am: 18.10.2003, 20:45 Titel: |
|
|
Leax hat Folgendes geschrieben: | gibt es eine FUnktion die Windows zwingt das Fenster zu aktualisieren?
Also neu zu malen? |
BOOL Invalidate(HWND hWnd,CONST RECT* lpRect,BOOL bErase);
in Deinem Fall das komplette Fenster neu zeichnen:
Code: | Invalidate(hDeinFenster,NULL,TRUE); |
|
|
Nach oben |
|
|
Leax Mini JLI'ler
Anmeldedatum: 15.07.2003 Beiträge: 43
Medaillen: Keine
|
Verfasst am: 19.10.2003, 18:11 Titel: |
|
|
da kommt aber:
-------------Konfiguration: Input - Win32 Debug--------------------
Kompilierung läuft...
WinMain.cpp
C:\c++\Input\WinMain.cpp(143) : error C2065: 'Invalidate' : nichtdeklarierter Bezeichner
Fehler beim Ausführen von cl.exe.
Input.exe - 1 Fehler, 0 Warnung(en) |
|
Nach oben |
|
|
Leax Mini JLI'ler
Anmeldedatum: 15.07.2003 Beiträge: 43
Medaillen: Keine
|
Verfasst am: 19.10.2003, 18:13 Titel: |
|
|
und wenn ich das mit SendMessage mache, kommen die Fehler:
--------------------Konfiguration: Input - Win32 Debug--------------------
Kompilierung läuft...
WinMain.cpp
C:\c++\Input\WinMain.cpp(124) : error C2065: 'wParam' : nichtdeklarierter Bezeichner
C:\c++\Input\WinMain.cpp(124) : error C2065: 'lParam' : nichtdeklarierter Bezeichner
Fehler beim Ausführen von cl.exe.
Input.exe - 2 Fehler, 0 Warnung(en) |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 19.10.2003, 20:14 Titel: |
|
|
In welchen Zeilen kommen denn die Fehler?
Zeig doch mal Code _________________ 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 |
|
|
|