Seite 1 von 2
WindowedScreen bewegen?
Verfasst: 27.03.2010 12:08
von Codusa
Hallo,
Wie oben erwähnt möchte ich gerne Wissen ob ich einen Windowed Screen nachträglich noch in der Position
verändern kann.
Ich erstelle nähmlich ein Fenster in der Desktopauflösung und einen Screen in variabler größe (maximal die des Fensters)
damit der screen aber nicht oben "links rumgammelt" oder im Weg ist würde ich ihn gerne z.B. durch drücken der mittleren Maustaste
Durch das Window ziehen können.
Geht das?
Thx im Vorraus!
Re: WindowedScreen bewegen?
Verfasst: 27.03.2010 13:26
von captain_hesse
Soweit ich weiß ist es nicht so einfach möglich einen WindowedScreen, ähnlich wie ein Window hin und her zu schieben. Aber du kannst den Screen zuerst schließen und dann an der gewünschten Position wieder neu öffnen.
etwa so zum Beispiel:
Code: Alles auswählen
InitSprite()
OpenWindow(0,0,0,800,600,"test")
OpenWindowedScreen(WindowID(0),0,0,320,200,0,0,0)
text$="Mittlere Maustaste drücken"
Repeat
event=WaitWindowEvent()
If event=#WM_MBUTTONDOWN
CloseScreen()
OpenWindowedScreen(WindowID(0),WindowMouseX(0),WindowMouseY(0),320,200,0,0,0)
;Falls Sprites benutzt werden
;müssen diese dann an dieser Stelle wieder neu geladen werden.
EndIf
StartDrawing(ScreenOutput())
DrawText(10,90,text$)
StopDrawing()
FlipBuffers()
Until event = #PB_Event_CloseWindow
CloseScreen()
CloseWindow(0)
End
Re: WindowedScreen bewegen?
Verfasst: 27.03.2010 13:50
von Schlumpf
öffne den WindowedScreen in einem Container. den Container kannst du resizen wie du lustig bist.
dann musst du allerdings die Maus selber handeln, die DX-MouseLib funzt dann nicht.
http://www.purebasic.fr/english/viewtop ... 43#p273743
Re: WindowedScreen bewegen?
Verfasst: 27.03.2010 18:55
von WPö
@Schlumpf: Servus und Willkommen im Forum! Bist ja schon eine Woche da - haben alle übersehen

. Denkst Du auch bitte an die Signatur? Rechnerausstattung und blabla, damit sich alle auskennen.
Gruß - WPö
Re: WindowedScreen bewegen?
Verfasst: 28.03.2010 12:12
von Codusa
@captain_hesse
OK das funktioniert soweit, aber wenn ich auf dem Screen einen Movie laufen lasse mittels playmovie(0,ScreenID())
dann bleibt der Film auf 0,0 und der Screen bewegt sich weg...
Wieso? muss ich bei playmovie etwas aderes angeben, damit er tatsächlich auf dem Screen angezeigt wird?
@schlumpf
Das mit dem Container hab ich noch nicht so ganz verstanden, ausserdem will ich nichts resizen sondern nur verschieben...
Trotzdem Danke an Alle!
Re: WindowedScreen bewegen?
Verfasst: 28.03.2010 12:58
von HeX0R
WPo hat geschrieben:@Schlumpf: [...]Denkst Du auch bitte an die Signatur? Rechnerausstattung und blabla, damit sich alle auskennen.
Es scheint, als würde sich Schlumpf eher als Helfer, denn als Fragesteller hier im Board etablieren.
Als solcher kann es uns ziemlich egal sein, welche Rechnerausstattung und blabla er/sie hat...
Re: WindowedScreen bewegen?
Verfasst: 28.03.2010 15:40
von Schlumpf
Codusa hat geschrieben:@schlumpf
Das mit dem Container hab ich noch nicht so ganz verstanden, ausserdem will ich nichts resizen sondern nur verschieben...
der Container macht den Screen vom Fenster unabhängig.
ob du das nun zum verschieben oder resizen nutzt ist dann ja egal.
wenn du allerdings nen Movie anzeigen willst, würde ich dir dazu raten, den Screen neu zu öffnen.
schließlich brauchst du dann ja keine hunderte Sprites nachladen, und das wäre der einzige Grund warum man das neuöffnen des Screens vermeiden will.
bzw. nen Movie kannst du doch auch direkt auf ein Fenster anzeigen, also lass den Screen doch weg...
Re: WindowedScreen bewegen?
Verfasst: 29.03.2010 00:13
von Codusa
Thx
Ich habe vor den Movie Rahmenlos anzuzeigen(also in nem window mit BorderLess beispielsweise)
ABER
Zusätzlich möchte ich den Rest vom Desktop abdunkeln und mir ist keine andere
Möglichkeit eingefallen, als nen Screen zu erstellen und vorher noch einen Screenshot(?)
zu machen und den dann mittels Drawinglib abzudunkeln(suboptimal ich weiss^^)
Die 2. Möglichkeit wäre das ich irgendwie das Rahmenlose Fenster mit dem Movie drin verschiebe,
aber wie das geht weiss ich leider auch nicht
Na ja, iwie krieg ich das schon hin

Re: WindowedScreen bewegen?
Verfasst: 29.03.2010 00:40
von Fluid Byte
Code: Alles auswählen
InitMovie()
OpenWindow(0,0,0,320,240,"void",#PB_Window_BorderLess)
SetWindowColor(0,0)
SetWindowState(0,#PB_Window_Maximize)
SetWindowLongPtr_(WindowID(0),#GWL_EXSTYLE,#WS_EX_LAYERED)
SetLayeredWindowAttributes_(WindowID(0),0,220,#LWA_ALPHA)
LoadMovie(0,"**DEIN FILMCHEN**")
ResizeMovie(0,WindowWidth(0)/2-MovieWidth(0)/2,WindowHeight(0)/2-MovieHeight(0)/2,MovieWidth(0),MovieHeight(0))
PlayMovie(0,WindowID(0))
While WaitWindowEvent() ! #PB_Event_CloseWindow : Wend
Re: WindowedScreen bewegen?
Verfasst: 29.03.2010 17:14
von Codusa
@ FluidByte
Thx, der Code funzt prima, aber ich kann den Movie dann nicht bewegen und der movie ist auch transparent...
Ansonsten schonmal prima1!
