GUIs

BlitzMax Forums/BlitzMax Programming/GUIs

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

A childwindow is not allowed to have a menu, it should use the menu from the parent window and can't moved outside it's parent. But yes, any other window can may serve you with a menu to do the job. Not sure how it should look like for you. Try this:

'Source Code created on 28 Aug 2007 10:41:36 with Logic Gui Version 2.2 Build 262
'Start of external Header File
SuperStrict

'End Of external Header File


Local Win2:TGadget = CreateWindow:TGadget("Win2",473,128,111,93,Null,WINDOW_RESIZABLE |WINDOW_MENU |WINDOW_TOOL )
	Local Win2_File:TGadget = CreateMenu( "File" , 100 , WindowMenu( Win2:TGadget ) )
		Local Win2_Open:TGadget = CreateMenu( "Open" , 101 , WindowMenu( Win2_File:TGadget ) )
		Local Win2_Close:TGadget = CreateMenu( "Close" , 102 , WindowMenu( Win2_File:TGadget ) )
		Local Win2_Exit:TGadget = CreateMenu( "Exit" , 103 , WindowMenu( Win2_File:TGadget ) )
	Local Win2_Edit:TGadget = CreateMenu( "Edit" , 200 , WindowMenu( Win2:TGadget ) )
		Local Win2_Cut:TGadget = CreateMenu( "Cut" , 201 , WindowMenu( Win2_Edit:TGadget ) )
		Local Win2_Copy:TGadget = CreateMenu( "Copy" , 202 , WindowMenu( Win2_Edit:TGadget ) )
		Local Win2_Paste:TGadget = CreateMenu( "Paste" , 203 , WindowMenu( Win2_Edit:TGadget ) )
	Local Win2_Help:TGadget = CreateMenu( "Help" , 300 , WindowMenu( Win2:TGadget ) )
		Local Win2_About:TGadget = CreateMenu( "About" , 301 , WindowMenu( Win2_Help:TGadget ) )
	UpdateWindowMenu( Win2:TGadget )
Local Win1:TGadget = CreateWindow:TGadget("Main Window",227,90,246,177,Null,WINDOW_TITLEBAR)
	Local Child:TGadget = CreateWindow:TGadget("Child",73,27,99,105,Win1:TGadget,WINDOW_TITLEBAR|WINDOW_TOOL |WINDOW_CHILD)
Local Win3:TGadget = CreateWindow:TGadget("Win3",347,272,132,111,Null,WINDOW_TITLEBAR|WINDOW_MENU |WINDOW_TOOL )
	Local Win3_File:TGadget = CreateMenu( "File" , 10100 , WindowMenu( Win3:TGadget ) )
		Local Win3_Open:TGadget = CreateMenu( "Open" , 10101 , WindowMenu( Win3_File:TGadget ) )
		Local Win3_Close:TGadget = CreateMenu( "Close" , 10102 , WindowMenu( Win3_File:TGadget ) )
		Local Win3_Exit:TGadget = CreateMenu( "Exit" , 10103 , WindowMenu( Win3_File:TGadget ) )
	Local Win3_Edit:TGadget = CreateMenu( "Edit" , 10200 , WindowMenu( Win3:TGadget ) )
		Local Win3_Cut:TGadget = CreateMenu( "Cut" , 10201 , WindowMenu( Win3_Edit:TGadget ) )
		Local Win3_Copy:TGadget = CreateMenu( "Copy" , 10202 , WindowMenu( Win3_Edit:TGadget ) )
		Local Win3_Paste:TGadget = CreateMenu( "Paste" , 10203 , WindowMenu( Win3_Edit:TGadget ) )
	Local Win3_Help:TGadget = CreateMenu( "Help" , 10300 , WindowMenu( Win3:TGadget ) )
		Local Win3_About:TGadget = CreateMenu( "About" , 10301 , WindowMenu( Win3_Help:TGadget ) )
	UpdateWindowMenu( Win3:TGadget )

Repeat
	WaitEvent()
	Select EventID()
		Case EVENT_WINDOWCLOSE
			Select EventSource()
				Case Win2	Win2_WC( Win2:TGadget )
				Case Win1	Win1_WC( Win1:TGadget )
				Case Child	Child_WC( Child:TGadget )
				Case Win3	Win3_WC( Win3:TGadget )
			End Select

		Case EVENT_MENUACTION
			Select EventData()
				'Menu_Events for Gadget = Win2
				'Menu_Events for Gadget = Win3
			End Select

	End Select
Forever

Function Win2_WC( Window:TGadget )
	DebugLog "Window Win2 wants to be closed"
'	HideGadget( Window:TGadget )

	End
End Function

Function Win1_WC( Window:TGadget )
	DebugLog "Window Win1 wants to be closed"
'	HideGadget( Window:TGadget )

	End
End Function

Function Child_WC( Window:TGadget )
	DebugLog "Window Child wants to be closed"
'	HideGadget( Window:TGadget )

	End
End Function

Function Win3_WC( Window:TGadget )
	DebugLog "Window Win3 wants to be closed"
'	HideGadget( Window:TGadget )

	End
End Function