Mini Fenster; verschieben; transparent // gelöst
Mini Fenster; verschieben; transparent // gelöst
Hey Leute, ich habe eine Frage:
Ich möchte so ein Fenster machen, wie zb der 30 (oder 40) px Player.. (nur beispiel.. also ein kleines Fenster, allways on top und vll auch durchsichtig..)
meine erste idee war ein #borderless fenster (tranzparanz ist nicht soo wichtig), da wäre meine frage, wie ich es verschiebbar machen kann, andere möglichkeit eben so ein tranzparentes window, aber da habe ich garkeine ahnung von
TIA
Ich möchte so ein Fenster machen, wie zb der 30 (oder 40) px Player.. (nur beispiel.. also ein kleines Fenster, allways on top und vll auch durchsichtig..)
meine erste idee war ein #borderless fenster (tranzparanz ist nicht soo wichtig), da wäre meine frage, wie ich es verschiebbar machen kann, andere möglichkeit eben so ein tranzparentes window, aber da habe ich garkeine ahnung von
TIA
Zuletzt geändert von a14xerus am 15.09.2006 16:31, insgesamt 1-mal geändert.
Re: Mini Fenster
> da wäre meine frage, wie ich es verschiebbar machen kann
Rahmenlose Fenster verschieben: http://www.purebasic.fr/german/viewtopic.php?t=9734
Grüße ... Kiffi
Rahmenlose Fenster verschieben: http://www.purebasic.fr/german/viewtopic.php?t=9734
Grüße ... Kiffi
a²+b²=mc²
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Alle so schnell
hab nen riesencode gemacht:
Nur beenden läßt es sich noch nicht 

hab nen riesencode gemacht:
Code: Alles auswählen
If OpenWindow(0, 100, 100, 40, 40, "", #PB_Window_BorderLess)
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Break
Case #WM_LBUTTONDOWN
ReleaseCapture_()
SendMessage_(WindowID(0), #WM_NCLBUTTONDOWN, #HTCAPTION, 0)
EndSelect
ForEver
EndIf

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
PS: In einem Callback reagiert es besser!
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- Falko
- Admin
- Beiträge: 3535
- Registriert: 29.08.2004 11:27
- Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit) - Kontaktdaten:
Hier ein Transparentes Fenster mit Hilfe von API.
Kannste ein- bzw. ausschalten als auch die Transparenz einstellen
Grüße ...Falko
Kannste ein- bzw. ausschalten als auch die Transparenz einstellen

Code: Alles auswählen
;Author: Falko
;Title: Transparentes WindowEvent
;OS: Windows 2000 / XP
Wert.l=0
Procedure TransparentWindow(Wert.b)
If Wert=1
SetWindowLong_(WindowID(0), #GWL_EXSTYLE, GetWindowLong_(WindowID(0), #GWL_EXSTYLE) | #WS_EX_LAYERED)
SetLayeredWindowAttributes_(WindowID(0), 0, GetGadgetState(2),#LWA_ALPHA)
ElseIf Wert=0
SetWindowLong_(WindowID(0), #GWL_EXSTYLE, GetWindowLong_(WindowID(0), #GWL_EXSTYLE) And (Not #WS_EX_LAYERED))
EndIf
EndProcedure
If OpenWindow(0,0,0,130,100,"TransWindow") And CreateGadgetList(WindowID(0))
SetWindowColor(0,#Yellow)
ButtonGadget(0,10,10,50,20,"TransOff")
ButtonGadget(1,70,10,50,20,"TransOn")
TrackBarGadget(2, 5, 50 ,120, 20, 50, 255,#PB_TrackBar_Ticks)
EndIf
Repeat
eventID=WaitWindowEvent()
If #PB_Event_Repaint
StartDrawing(WindowOutput(0))
DrawingMode(#PB_2DDrawing_Transparent); Texthintergrund transparent
DrawText(10,75,"Dies ist ein Test",#Red,#Blue)
StopDrawing() ; Dies ist nach Abschluss der Zeichenoperationen immer nötig!!! Vergessen Sie dies nie!
EndIf
GadgetNummer = EventGadget()
Select GadgetNummer
Case 0
TransparentWindow(0)
Case 1
TransparentWindow(1)
Case 2
SetLayeredWindowAttributes_(WindowID(0), 0, GetGadgetState(2),#LWA_ALPHA)
EndSelect
Until eventID=#PB_Event_CloseWindow