Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Iggels
Beiträge: 53 Registriert: 17.02.2006 21:30
Beitrag
von Iggels » 20.02.2007 23:18
Borderless Windows haben ja normalerweise kein Systemmenu in der Taskleiste. Mithilfe diesen Codes bekommen sie eins:
Code: Alles auswählen
OpenWindow(0,0,0,320,240,"",#PB_Window_ScreenCentered|#PB_Window_BorderLess)
SetWindowLong_(WindowID(0),#GWL_STYLE,GetWindowLong_(WindowID(0),#GWL_STYLE) | #WS_SYSMENU| #WS_MINIMIZEBOX)
hwndmenu=GetSystemMenu_(WindowID(0),0)
RemoveMenu_(hwndmenu,#SC_MAXIMIZE, #MF_REMOVE|#MF_BYCOMMAND)
RemoveMenu_(hwndmenu,#SC_MOVE, #MF_REMOVE|#MF_BYCOMMAND)
RemoveMenu_(hwndmenu,#SC_SIZE, #MF_REMOVE|#MF_BYCOMMAND)
CreateGadgetList(WindowID(0))
ButtonGadget(0,20,20,100,20,"Minimize")
ButtonGadget(1,20,50,100,20,"Close")
Quit=0
Repeat
ev=WaitWindowEvent()
Select ev
Case #WM_SYSCOMMAND
Select EventwParam()
Case #SC_CLOSE
Quit=1
; Case #SC_MINIMIZE
; Case #SC_RESTORE
EndSelect
Case #PB_Event_Gadget
Select EventGadget()
Case 0
ShowWindow_(WindowID(0), #SW_MINIMIZE)
Case 1
Quit=1
EndSelect
EndSelect
Until Quit
Fluid Byte
Beiträge: 3110 Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte
Beitrag
von Fluid Byte » 20.02.2007 23:30
Borderless Windows haben ja normalerweise kein Systemmenu in der Taskleiste.
Ah ne, wirklich?
Code: Alles auswählen
OpenWindow(0,0,0,400,300,"Yo Baby!!",#WS_POPUP | #WS_BORDER | #WS_SYSMENU | 1)
While WaitWindowEvent() ! 16 : Wend
Iggels
Beiträge: 53 Registriert: 17.02.2006 21:30
Beitrag
von Iggels » 20.02.2007 23:52
???
Dein Code entspricht meinem, nur das bei dir leider der minimieren Knopf deaktiviert ist. Außerdem sind noch die unnützen deaktivierten Einträge zu sehen wie Größe ändern, Verschieben etc , obwohl man die nicht benötigt.
Natürlich kann man
Code: Alles auswählen
OpenWindow(0,0,0,320,240,"",#PB_Window_ScreenCentered|#PB_Window_BorderLess)
SetWindowLong_(WindowID(0),#GWL_STYLE,GetWindowLong_(WindowID(0),#GWL_STYLE) | #WS_SYSMENU| #WS_MINIMIZEBOX)
auch schreiben als:
Code: Alles auswählen
OpenWindow(0,0,0,320,240,"",#PB_Window_ScreenCentered|#PB_Window_BorderLess | #WS_SYSMENU| #WS_MINIMIZEBOX)
ich hab den COde halt schnell zusammengeschustert...
Kaeru Gaman
Beiträge: 17389 Registriert: 10.11.2004 03:22
Beitrag
von Kaeru Gaman » 20.02.2007 23:56
interessant:
Code: Alles auswählen
Macro FBin( Value )
Right("0000000000000000000000000000000"+Bin(Value),32)
EndMacro
Debug FBin(#PB_Window_ScreenCentered)
Debug FBin(#PB_Window_BorderLess)
Debug FBin(#PB_Window_SystemMenu)
Debug "--"
Debug FBin(#WS_POPUP)
Debug FBin(#WS_BORDER)
Debug FBin(#WS_SYSMENU)
Debug "--"
Debug FBin(#WS_DLGFRAME)
in der PB-Konstante #PB_Window_SystemMenu ist das Flag #WS_DLGFRAME gesetzt,
deswegen geht es mit PB-konstanten nicht....
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Fluid Byte
Beiträge: 3110 Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte
Beitrag
von Fluid Byte » 21.02.2007 00:18
Wovon redest du eigentlich? Es geht nicht darum wie es aussieht sondern rein um die Tatsache das Ich deine Aussage widerlegt habe. Das sagest Borderless Fenster haben kein System Menü und das ist schlicht und ergreifend falsch.
PMV
Beiträge: 2765 Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg
Beitrag
von PMV » 21.02.2007 00:39
Unter reinem PureBasic bis jetzt schon ...
alte Projekte:
TSE ,
CWL , Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Fluid Byte
Beiträge: 3110 Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte
Beitrag
von Fluid Byte » 21.02.2007 17:11
PMV hat geschrieben: Unter reinem PureBasic bis jetzt schon ...
Siehe Kaeru's Post...
PMV
Beiträge: 2765 Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg
Beitrag
von PMV » 22.02.2007 00:37
Deswegen hab ich deinen Post noch mal kommentiert, da du diesen
unter Kaeru Gamans Erklärung geschrieben hast.
MFG PMV
alte Projekte:
TSE ,
CWL , Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Radiate
Beiträge: 114 Registriert: 10.02.2008 16:40
Kontaktdaten:
Beitrag
von Radiate » 15.02.2008 09:10
Meckerbolzen ihr!
» PureBasic 4.30
» AMD Athlon II X2 240 | 2048 RAM | Win XP SP 3
» Projekt(e): Fusion (eingestellt), SAS (eingestellt), Moviez
HeX0R
Beiträge: 3054 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:
Beitrag
von HeX0R » 15.02.2008 10:12
Leichenschänder du!