Dieses Beispiel legt jedoch auch die minimale Größe von allen weiteren Fenstern Fest.
Ich habe den Code so angepasst das man über den Button ein weiteres Fenster öffnen kann.
Code: Alles auswählen
; www.purearea.net (Sourcecode collection by cnesm)
; Author:
; Date: 22. November 2003
#Window_0 = 0
#Window_1 = 1
#Gadget_0 = 0
#Gadget_1 = 1
#Gadget_2 = 2
Procedure WCB(wnd, Message, wParam, lParam)
Result = #PB_ProcessPureBasicEvents
Select Message
Case #WM_GETMINMAXINFO
GetWindowRect_(wnd,r.RECT)
*pMinMax.MINMAXINFO = lParam
*pMinMax\ptMinTrackSize\x=467
*pMinMax\ptMinTrackSize\y=429
*pMinMax\ptMaxTrackSize\x=GetSystemMetrics_(#SM_CXSCREEN)
*pMinMax\ptMaxTrackSize\y=GetSystemMetrics_(#SM_CYSCREEN)
Result = 0
EndSelect
ProcedureReturn Result
EndProcedure
Procedure Open_Window_0()
pw=OpenWindow(#Window_0, 216, 0, 467, 402, #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar|#PB_Window_MaximizeGadget |#PB_Window_MinimizeGadget , "New window ( 0 )")
SetWindowCallback(@WCB())
CreateGadgetList(WindowID())
Frame3DGadget(#Gadget_0, 60, 80, 320, 250, "")
TextGadget(#Gadget_1, 60, 150, 320, 70, "Minimalmaße sollen bleiben"+Chr(13)+"Minimum size is set", #PB_Text_Center)
ButtonGadget(#Gadget_2, 10, 10, 100, 20, "Fenbster")
EndProcedure
Open_Window_0()
Repeat
id=WaitWindowEvent()
If id=#PB_EventGadget
If EventGadgetID()=#Gadget_2
OpenWindow(#Window_1, 0, 0, 150, 150, #PB_Window_WindowCentered, "Fenster")
EndIf
EndIf
If id=#PB_EventCloseWindow
quit=1
EndIf
Until quit=1
End
; ExecutableFormat=Windows
; EnableXP
; EOF