WindowedScreen bewegen?
WindowedScreen bewegen?
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!
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!
"I became insane, with long intervals of horrible sanity." - Edgar A. Poe
- captain_hesse
- Beiträge: 138
- Registriert: 17.05.2009 18:55
- Computerausstattung: Windows 7 Ultimate 64 Bit / AMD Phenom II 1090T, 6x3200 MHz / AMD HD-6850 / PureBasic 5.1 (x86) (x64)
- Wohnort: Saarland
Re: WindowedScreen bewegen?
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:
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
Windows 7 Ultimate 64 Bit / AMD Phenom II 1090T, 6x3200 MHz / AMD HD-6850 / PureBasic 5.1 (x86) (x64)
Re: WindowedScreen bewegen?
ö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
dann musst du allerdings die Maus selber handeln, die DX-MouseLib funzt dann nicht.
http://www.purebasic.fr/english/viewtop ... 43#p273743
PB 4.41 - Win XP pro
Re: WindowedScreen bewegen?
@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ö

Gruß - WPö
Ich glaube nur der Statistik, die ich selbst gefälscht habe!
Meine Netzpräsenz: WPö.de
PB5.31 auf LMDE und Pentium T7200 2,00GHz, 4GB DDR2, ATI X1400.
Meine Netzpräsenz: WPö.de
PB5.31 auf LMDE und Pentium T7200 2,00GHz, 4GB DDR2, ATI X1400.
Re: WindowedScreen bewegen?
@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!
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!
"I became insane, with long intervals of horrible sanity." - Edgar A. Poe
- HeX0R
- Beiträge: 3042
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3 - Kontaktdaten:
Re: WindowedScreen bewegen?
Es scheint, als würde sich Schlumpf eher als Helfer, denn als Fragesteller hier im Board etablieren.WPo hat geschrieben:@Schlumpf: [...]Denkst Du auch bitte an die Signatur? Rechnerausstattung und blabla, damit sich alle auskennen.
Als solcher kann es uns ziemlich egal sein, welche Rechnerausstattung und blabla er/sie hat...
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}.:|:.{Bier spendieren}
Re: WindowedScreen bewegen?
der Container macht den Screen vom Fenster unabhängig.Codusa hat geschrieben:@schlumpf
Das mit dem Container hab ich noch nicht so ganz verstanden, ausserdem will ich nichts resizen sondern nur verschieben...
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...
PB 4.41 - Win XP pro
Re: WindowedScreen bewegen?
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
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

"I became insane, with long intervals of horrible sanity." - Edgar A. Poe
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
Re: WindowedScreen bewegen?
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
Windows 10 Pro, 64-Bit / Outtakes | Derek
Re: WindowedScreen bewegen?
@ FluidByte
Thx, der Code funzt prima, aber ich kann den Movie dann nicht bewegen und der movie ist auch transparent...
Ansonsten schonmal prima1!
Thx, der Code funzt prima, aber ich kann den Movie dann nicht bewegen und der movie ist auch transparent...
Ansonsten schonmal prima1!

"I became insane, with long intervals of horrible sanity." - Edgar A. Poe