[C++/MFC] GIFs in einem Fenster umherschieben ...
RoNin 07.06.2005 - 14:30 724 3
RoNin
Here to stay
|
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
Hoffnungsloser Optimist
|
OnMouseDown, OnMouseMove und OnMouseUp implementieren, dazwischen mit SetCapture, MoveWindow, ReleaseCapture hantieren.
|
RoNin
Here to stay
|
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
Hoffnungsloser Optimist
|
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
|