PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Dialog-Graphik


MastaEda
28.07.2002, 22:39
Kann man in einem Dialog Graphik anzeigen?
zB Bitmaps oder mit Ellipse und Rect Formen?
Funktioniert bei mir irgendwie nicht.


Format C:
29.07.2002, 12:14
moin

Jo, geht


{
HDC hdc;

hdc = GetDC(hwnd);
Ellipse(hdc, 0, 0, 50, 50);
ReleaseDC(hwnd, hdc);
}

Zapata
29.07.2002, 15:30
BITMAPs müsstest du auch im Resource Editor hinzufügen (ich denke mal wenn du Dialog boxes benutzt benutzt du auch einen ResEditor), ansonsten kannst du bitmaps so laden:


HBITMAP hBitmap = (HBITMAP)LoadImage(hinst,"gfx/bitmap.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
HDC BhDC = CreateCompatibleDC(hDC);
SelectObject(BhDC,hBitmap);
BitBlt(hDC,0,0,width,height,BhDC,0,0,SRCCOPY);

MastaEda
29.07.2002, 21:37
Danke!

Wenn ich eine Ellipse nun mit den Cursor-Keys bewegen möchte muss das Fenster ja bei jeder Bewegung aktualisiert werden.
Mit UpdateWindow funktionierts nicht. Gibts da irgendne andere Funktion oder muss man da irgendwie mit Timer arbeiten?

Zapata
30.07.2002, 03:32
Du könntest die region von der ellipse mit der window-hintergrundfarbe füllen (FillRgn) oder löschen, die Funktion zum löschen hab ich leider nicht mehr gefunden. Und wenn der user die Cursor drückt einfach immer den x- bzw. y-wert der ellipse verändern.

Ryu
31.07.2002, 09:27
hmm also ich find sdl besser

Felix Kaiser
31.07.2002, 14:02
Setz deine Zeichenfunktionen auf den WM_PAINT Event im Fenster. Und vergiss NIE das DC Handle wieder zu releasen und auch das Bitmaphandle von LoadImage musst du wieder freigeben. Ansonsten wirst du bald enormen Handle- und GDI-Resourcenverbrauch haben ;)

MastaEda
31.07.2002, 17:19
Danke!
Wollte eigentlich nur ne Funktion die das Fenster aktualisiert, damit Animationen möglich sind.
Hab sie nun auch gefunden: InvalidateRect()