#MSGF_MENU = 2 Procedure WindowCallback(hWnd.l,uMsg.l,wParam.l,lParam.l) Select uMsg Case #WM_ENTERIDLE If wParam = #MSGF_MENU GetClientRect_(lParam,mrc.RECT) SetGadgetText(1,"Breite: "+Str(mrc\right)) SetGadgetText(2,"Höhe: "+Str(mrc\bottom)) EndIf EndSelect ProcedureReturn #PB_ProcessPureBasicEvents EndProcedure If OpenWindow(0,0,0,500,250,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered) TextGadget(1,200,10,100,20,"Breite: 0",0) TextGadget(2,200,30,100,20,"Höhe: 0",0) If CreateMenu(0,WindowID(0)) MenuTitle("Test-Menü 1") For a=1 To 5 MenuItem(a,"Menuitem "+Str(a),0) Next MenuTitle("Test-Menü 2") For a=1 To 10 MenuItem(a,"Test-Menuitem "+Str(a),0) Next EndIf SetWindowCallback(@WindowCallback()) Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow EndIf