OpenWindow() mit Close & MinimizeGadget aber ohne Maximize ?
OpenWindow() mit Close & MinimizeGadget aber ohne Maximize ?
Wie kann ich ein Fenster mit Close und MinimizeGadget aber ohne MaximizeGadget erstellen?
(Ohne das graue Feld!)
->
Danke
(Ohne das graue Feld!)
->
Danke
Zuletzt geändert von Mijikai am 18.07.2017 20:04, insgesamt 2-mal geändert.
Re: OpenWindow() mit Close & MinimizeGadget aber ohne Maximi
Code: Alles auswählen
EnableExplicit
If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered)
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
EndIf
Re: OpenWindow() mit Close & MinimizeGadget aber ohne Maximi
Das ist mein Problem das MaximizeGadget wird trotzdem angezeigt (Grau) für mein momentanes Projekt will ich es verschwinden lassen.RSBasic hat geschrieben:Code: Alles auswählen
EnableExplicit If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered) Repeat Select WaitWindowEvent() Case #PB_Event_CloseWindow End EndSelect ForEver EndIf
Ich hab die Frage nicht gut formuliert (hab den ersten Post geupdated).
Zuletzt geändert von Mijikai am 18.07.2017 20:08, insgesamt 1-mal geändert.
Re: OpenWindow() mit Close & MinimizeGadget aber ohne Maximi
Achso, so meinst du das. Nein, das ist (unter Windows) nicht möglich. Entweder nur den Close-Button oder alle drei Buttons.
Alternativ kannst du deine eigene Titelleiste zeichnen, aber das ist aufwendiger.
Alternativ kannst du deine eigene Titelleiste zeichnen, aber das ist aufwendiger.
Re: OpenWindow() mit Close & MinimizeGadget aber ohne Maximi
Ok, dann muss ich mir was einfallen lassen
Re: OpenWindow() mit Close & MinimizeGadget aber ohne Maximi
Ist es denn so schlimm, wenn der Maximize-Button sichtbar ist? Es ist schon seit Jahrzehnten Standard bei Windows.
Aus welchem Grund möchtest du den Button nicht? Willst du einfach nur mehr Platz in deiner Titelleiste haben oder was anderes?
Aus welchem Grund möchtest du den Button nicht? Willst du einfach nur mehr Platz in deiner Titelleiste haben oder was anderes?
Re: OpenWindow() mit Close & MinimizeGadget aber ohne Maximi
Mehr Platz wäre schön... sieht einfach falsch aus.
Es ist ein Download-Dialog ->
Es ist ein Download-Dialog ->
- 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
Re: OpenWindow() mit Close & MinimizeGadget aber ohne Maximi
Das sehe ich anderssieht einfach falsch aus.
Ein native Windows-Objekt kann nicht falsch aussehen. Falsch sehen eher geskinnte, gemalte oder sonstwie erstellte Objekte aus
Aber mir soll es wahrscheinlich nicht gefallen
Gruß
Thomas
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.
Re: OpenWindow() mit Close & MinimizeGadget aber ohne Maximi
eines meiner Templates
Code: Alles auswählen
EnableExplicit
Enumeration
#Wnd_Main
EndEnumeration
Enumeration
#Cnt_Window
;:Exit Button
#Btn_Exit
#Img_BtnExit
;:Minimize Button
#Btn_Minimize
#Img_BtnMinimize
;:Draw Header
#Header
#Img_Header
;:Window Title
#Titel
;:Draw Footer
#Footer
#Img_Footer
;:Font
#Fnt_SegoeUI12
EndEnumeration
;:Define Colors
#Wnd_Color = $353535 ; dark grey
#Col_Header = $FFFFFF ; white
#Col_Footer = $808080 ; mid grey
#Col_Text = $666667 ; black grey
#Col_Container = $F0F0F0 ; silver grey
;:Window size
#Wnd_Width = 400 ; px
#Wnd_Height = 500 ; px
LoadFont(#Fnt_SegoeUI12, "Segoe Ui", 16, #PB_Font_HighQuality)
Define Event, EventType
Procedure DropShadow(Window)
; (WindowsAPI) - Generiert bei einem randlosen Fenster einen Schatten
If IsWindow(Window)
SetClassLongPtr_(WindowID(Window), #GCL_STYLE, #CS_DROPSHADOW)
EndIf
EndProcedure
Procedure SystemButtons()
;EXIT BUTTON
CreateImage(#Btn_Exit, 60, 60)
StartDrawing(ImageOutput(#Btn_Exit))
FillArea(1, 1, -1, #Col_Header)
Line(3, 56, 54, -54, #Col_Text)
Line(3, 4, 54, 54, #Col_Text)
StopDrawing()
ImageGadget(#Img_BtnExit, WindowWidth(0)-61, 1, 60, 60, ImageID(#Btn_Exit))
;MINIMIZE BUTTON
CreateImage(#Btn_Minimize, 40, 20)
StartDrawing(ImageOutput(#Btn_Minimize))
FillArea(1, 1, -1, #Col_Header)
Line(0, 19, 40, 1, #Col_Text)
StopDrawing()
ImageGadget(#Img_BtnMinimize, WindowWidth(0)-110, 37, 40, 40, ImageID(#Btn_Minimize))
EndProcedure
Procedure main()
OpenWindow(#Wnd_Main, 510, 311, #Wnd_Width, #Wnd_Height, " ", #PB_Window_BorderLess|#PB_Window_ScreenCentered|#PB_Window_Invisible)
SetWindowColor(#Wnd_Main, #Wnd_Color)
DropShadow(#Wnd_Main)
;HEADER
CreateImage(#Img_Header, WindowWidth(#Wnd_Main)-2, 60, 32, #Col_Header)
StartDrawing(ImageOutput(#Img_Header))
Box(0, 1, OutputWidth(), OutputHeight(), #Col_Header)
StopDrawing()
ImageGadget(#Header, 1, 1, 0, 0, ImageID(#Img_Header))
;disable to make it possible: grab with LMB Down
DisableGadget(#Header, #True)
;Set Window Title
TextGadget(#Titel, 10, 14, 160, 30, "Custom Window", #SS_CENTER)
SetGadgetColor(#Titel, #PB_Gadget_BackColor, #Col_Header)
SetGadgetColor(#Titel, #PB_Gadget_FrontColor, #Col_Text)
SetGadgetFont(#Titel, FontID(#Fnt_SegoeUI12))
;Add all Gadgets here
ContainerGadget(#Cnt_Window, 1, 62, WindowWidth(#Wnd_Main)-2, WindowHeight(#Wnd_Main)-94, #PB_Container_BorderLess)
SetGadgetColor(#Cnt_Window, #PB_Gadget_BackColor, #Col_Container)
;-
CloseGadgetList()
;Footer
CreateImage(#Img_Footer, WindowWidth(#Wnd_Main)-2, 30, 32, #Col_Footer)
ImageGadget(#Footer, 1, WindowHeight(#Wnd_Main)-31, 0, 0, ImageID(#Img_Footer))
SystemButtons()
HideWindow(#Wnd_Main, #False)
EndProcedure
main()
Repeat
Event = WaitWindowEvent()
EventType = EventType()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
;Exit
Case #Img_BtnExit
End
;Minimize
Case #Img_BtnMinimize
If EventType = #PB_EventType_LeftClick
SetWindowState(#Wnd_Main, #PB_Window_Minimize)
EndIf
EndSelect
;DRAG WITH MOUSE
Case #WM_LBUTTONDOWN
If WindowMouseX(#Wnd_Main) >= 0 And WindowMouseX(#Wnd_Main) <= WindowWidth(#Wnd_Main)-2 And WindowMouseY(#Wnd_Main) >= 0 And WindowMouseY(#Wnd_Main) <= 61
SendMessage_(WindowID(#Wnd_Main), #WM_NCLBUTTONDOWN, #HTCAPTION, 0)
EndIf
EndSelect
;ESC exit program
If GetAsyncKeyState_(#VK_ESCAPE)
End
EndIf
ForEver
PB v5.43 LTS + v6.02 LTS | Windows 7 x86 + 11 x64 - Gforce RTX 4090 - AMD Ryzen 9 5900X 12-Core Processor 4.2 GHz - 64,0 GB RAM,
ASUSTEK TUF Gaming X570 Plus
ASUS ROG Thor-1200P Platinum (1200W, Aura Sync, OLED Display, 0dB-Cooling)
1x 1 TByte Samsung MZ-V7S500BW 970 EVO Plus 1 TB NVMe M.2 Internal SSD
1x 2 TByte Samsung MZ-V7S2T0BW 970 EVO Plus 2 TB NVMe M.2 Internal SSD
von BiSONTE! TOP. Kauft Eure Hardware gern bei ihm.
Monitor:
LG 38GL950G-B 95 (38 Zoll) Ultragear Curved 21: 9 UltraWide QHD IPS
ASUSTEK TUF Gaming X570 Plus
ASUS ROG Thor-1200P Platinum (1200W, Aura Sync, OLED Display, 0dB-Cooling)
1x 1 TByte Samsung MZ-V7S500BW 970 EVO Plus 1 TB NVMe M.2 Internal SSD
1x 2 TByte Samsung MZ-V7S2T0BW 970 EVO Plus 2 TB NVMe M.2 Internal SSD
von BiSONTE! TOP. Kauft Eure Hardware gern bei ihm.
Monitor:
LG 38GL950G-B 95 (38 Zoll) Ultragear Curved 21: 9 UltraWide QHD IPS
Re: OpenWindow() mit Close & MinimizeGadget aber ohne Maximi
Danke @udg
Ich hatte auf eine einfache Windows (OS) Lösung gehofft.
Sobald ich etwas Zeit habe werde ich ein Modul erstellen, die DropShadow Möglichkeit war mir unbekannt.
Edit: DropShadow hat keinen Effekt bei Win10!
Ich hatte auf eine einfache Windows (OS) Lösung gehofft.
Sobald ich etwas Zeit habe werde ich ein Modul erstellen, die DropShadow Möglichkeit war mir unbekannt.
Edit: DropShadow hat keinen Effekt bei Win10!
Zuletzt geändert von Mijikai am 20.07.2017 21:36, insgesamt 1-mal geändert.