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
 ) und
 ) und
