"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

[C++/MFC] GIFs in einem Fenster umherschieben ...

RoNin 07.06.2005 - 14:30 667 3
Posts

RoNin

Here to stay
Avatar
Registered: Sep 2003
Location: CH, Au SG
Posts: 1088
Hallo !

Folgende Problemstellung:
Transparente GIFs in einem Fenster anzeigen (mehrere) und diese verschieben können.
Außerdem sollte das Fenster einen bestimmten Hintergrund haben (Bitmap, was auch immer).

So, das GIF befindet sich in nem Steuerelement (control) ... jetzt steh ich an, wie kann ich das verschieben ?

tia
mfg
RoNin

//edit:
NEUE AUFGABENSTELLEN bzw. PROBLEM:
Formen (Vielecke) mit Vektoren generieren und die dann rumschieben.
Das ganze soll ein "Tangram" werden (ev. kennts wer, ist ein nettes Spiel)
Bearbeitet von RoNin am 16.06.2005, 13:41

that

Moderator
Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11326
OnMouseDown, OnMouseMove und OnMouseUp implementieren, dazwischen mit SetCapture, MoveWindow, ReleaseCapture hantieren.

RoNin

Here to stay
Avatar
Registered: Sep 2003
Location: CH, Au SG
Posts: 1088
Nunja ... das Verständnis hält sich in Grenzen.
Kannst du mir bitte sagen wie ich die alle zusammenhängen muss, damit es funktioniert ?

tia

that

Moderator
Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11326
OnMouseDown (oder LeftButtonDown oder wie immer das genau heißt):
Du musst aus der (Maus-)Cursorposition errechnen, ob du eine Form getroffen hast, dir merken welche das ist und wo sie ursprünglich war, SetCapture aufrufen und dir merken dass du gerade draggst.

OnMouseMove:
if (dragging) Form auf neuer Position zeichnen (die errechnet sich aus der aktuellen Mausposition, der Startposition wo das LBUTTONDOWN passiert ist, und der ursprünglichen Position der Form), möglicherweise irgendwie gestrichelt, wie du willst

OnMouseUp:
if (dragging) ReleaseCapture aufrufen, Dragging abdrehen, Form an aktueller Position zeichnen

OnRightMouseButtonDown:
if (dragging) ReleaseCapture aufrufen, Dragging abdrehen, Form an ursprüngliche Position zurückversetzen und zeichnen
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz