Fenster ohne Icon aber mit "X" Button
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
Code: Alles auswählen
Procedure DialogBox(WinNUM.w,Width.w,Height.w,Caption.s,ParentID.l)
DisableWindow(ParentID,1)
dwStyle = #WS_SYSMENU | #WS_CAPTION | #WS_VISIBLE | #PB_Window_ScreenCentered
Result = OpenWindow(WinNUM,X,Y,Width,Height,Caption,dwStyle,WindowID(ParentID))
hMenuSystem = GetSystemMenu_(Result,0)
RemoveMenu_(hMenuSystem,#SC_RESTORE,0)
RemoveMenu_(hMenuSystem,#SC_SIZE,0)
RemoveMenu_(hMenuSystem,#SC_MINIMIZE,0)
RemoveMenu_(hMenuSystem,#SC_MAXIMIZE,0)
RemoveMenu_(hMenuSystem,0,0)
SetWindowLong_(Result,#GWL_EXSTYLE,#WS_EX_DLGMODALFRAME)
ProcedureReturn Result
EndProcedure
Ipsum$ + "Lorem ipsum aliquam erat volutpat wisi enim ad minim veniam, quis nostrud "
Ipsum$ + "exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo."
OpenWindow(0,0,0,320,240,"Parent Window",#WS_OVERLAPPEDWINDOW | 1)
DialogBox(101,200,120,"Dialog Test",(0))
CreateGadgetList(WindowID(101))
TextGadget(0,10,10,180,50,Ipsum$)
ButtonGadget(1,60,80,80,24,"OK",#BS_DEFPUSHBUTTON)
HideWindow(101,0)
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget And EventGadget() = 1
DisableWindow(0,0)
CloseWindow(101)
EndIf
Until EventID = 16
Windows 10 Pro, 64-Bit / Outtakes | Derek
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
funktioniert unter 2K...
ist aber dochn ziemlicher aufwand...
...und ein bisschen unglücklich, dass man den click in der eventschleife außerhalb abfragt und das parent manuell enablen muss...
...eventuell alles in die proc packen dann?
ja ok, war ja nich thema, ging ja nur darum, wie man das macht ohne icon.
ist aber dochn ziemlicher aufwand...
...und ein bisschen unglücklich, dass man den click in der eventschleife außerhalb abfragt und das parent manuell enablen muss...
...eventuell alles in die proc packen dann?
ja ok, war ja nich thema, ging ja nur darum, wie man das macht ohne icon.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
Du kannst aber auch 'nen Toolwindow benutzen, die Titlebar ist allerdings etwas kleiner.
Code: Alles auswählen
Macro AddWindowStyleEX(hwnd,new_style)
SetWindowLong_(hwnd,-20,GetWindowLong_(hwnd,-20)|new_style)
SetWindowPos_(hwnd,0,0,0,0,0,#SWP_FRAMECHANGED|#SWP_NOMOVE|#SWP_NOSIZE)
EndMacro
hwnd = OpenWindow(0,0,0,640,480,"leer")
AddWindowStyleEX(hwnd,#WS_EX_TOOLWINDOW)
Repeat : Until WaitWindowEvent() = 16
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
Das ist wohl eher ein klassisches Toolwindow, aber nicht schlechtKaeru Gaman hat geschrieben:ja, cool @edel![]()
...das ist der klassische dialog-frame.

Code: Alles auswählen
OpenWindow(0,0,0,320,240,"Parent Window")
SetWindowLong_(WindowID(0),#GWL_EXSTYLE,#WS_EX_DLGMODALFRAME)
;#################################
;benötigt SKINWIN-LIB
;#################################
ShowCloseButton(WindowID(0),#True)
;#################################
Repeat
EventID = WaitWindowEvent()
Until EventID = 16
Gruss Andreas
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
MÖÖÖÖP - Hoëcker, sie sind raus.Andreas hat geschrieben:Code: Alles auswählen
;benötigt SKINWIN-LIB
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
Warum das denn ?!
ersetze
mit
ersetze
Code: Alles auswählen
ShowCloseButton(WindowID(0),#True)
Code: Alles auswählen
style = GetWindowLong_(WindowID(0),#GWL_STYLE)
SetWindowLong_(WindowID(0),#GWL_STYLE,style|#WS_SYSMENU)
SetWindowPos_(WindowID(0),0,0,0,0,0,#SWP_FRAMECHANGED|#SWP_NOMOVE|#SWP_NOSIZE)