Menu in dialog
-
- Posts: 1102
- Joined: Mon Oct 17, 2005 5:41 am
- Location: Belgium
- Contact:
Menu in dialog
Hello,
I can add a buttonbar on a dialog, but is it possible to have a menu (and buttonbar) in a dialog?
Thanks,
Marc
I can add a buttonbar on a dialog, but is it possible to have a menu (and buttonbar) in a dialog?
Thanks,
Marc
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Re: Menu in dialog
Yes, just build the menu in the ON INIT clause.
EMG
EMG
-
- Posts: 1102
- Joined: Mon Oct 17, 2005 5:41 am
- Location: Belgium
- Contact:
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
This is a working sample:
EMG
Code: Select all
#include "Fivewin.ch"
FUNCTION MAIN()
LOCAL oDlg
DEFINE DIALOG oDlg
@ 2, 1 BUTTON "&Close";
ACTION oDlg:End()
ACTIVATE DIALOG oDlg;
ON INIT BUILDMENU( oDlg );
CENTER
RETURN NIL
STATIC FUNCTION BUILDMENU( oDlg )
LOCAL oMenu
MENU oMenu
MENUITEM "&Test"
MENU
MENUITEM "&Test1";
ACTION MSGINFO( "Test1" )
MENUITEM "&Test2";
ACTION MSGINFO( "Test2" )
MENUITEM "&Test3";
ACTION MSGINFO( "Test3" )
ENDMENU
ENDMENU
oDlg:SetMenu( oMenu )
RETURN NIL
-
- Posts: 1102
- Joined: Mon Oct 17, 2005 5:41 am
- Location: Belgium
- Contact:
Enrico,
I just found a strange effect after implementing this.
The buttons, checkboxes and radioboxes don't work any more. If you click on them, nothing happens.
The onclicks on bitmaps, barbuttons and the doubleclick on listboxes still works.
If I comment out the STATIC FUNCTION BUILDMENU( oDlg ), everthing works again.
Is there something I have to change?
Marc
I just found a strange effect after implementing this.
The buttons, checkboxes and radioboxes don't work any more. If you click on them, nothing happens.
The onclicks on bitmaps, barbuttons and the doubleclick on listboxes still works.
If I comment out the STATIC FUNCTION BUILDMENU( oDlg ), everthing works again.
Is there something I have to change?
Marc
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
-
- Posts: 1102
- Joined: Mon Oct 17, 2005 5:41 am
- Location: Belgium
- Contact:
Here is an example so you can see that it's not working after calling the menu.
Here is the rc-file
Changing the line IF .t. // enable/disable menu you can disable/enable the menu.
Marc
Code: Select all
#INCLUDE "fivewin.CH"
FUNCTION test()
local oDlg
local vspare := .f.
DEFINE DIALOG oDlg RESOURCE "test"
REDEFINE CHECKBOX vspare ID 104 of oDlg ON CHANGE(msginfo(vspare))
REDEFINE BUTTON ID 101 OF oDlg ACTION msginfo('OK')
REDEFINE BUTTON ID 102 OF oDlg ACTION msginfo('Cancel')
REDEFINE BUTTON ID 103 OF oDlg ACTION msginfo('Help')
ACTIVATE DIALOG oDlg CENTERED on init BUILDMENU( oDlg )
RETURN nil
STATIC FUNCTION buildmenu( odlg )
LOCAL oMenu
IF .t. // enable/disable menu
MENU oMenu
MENUITEM "&Test"
MENU
MENUITEM "&Test1";
ACTION MSGINFO( "Test1" )
MENUITEM "&Test2";
ACTION MSGINFO( "Test2" )
MENUITEM "&Test3";
ACTION MSGINFO( "Test3" )
ENDMENU
ENDMENU
oDlg:SetMenu( oMenu )
ENDIF
RETURN NIL
Code: Select all
/****************************************************************************
test.rc
produced by Borland Resource Workshop
*****************************************************************************/
TEST DIALOG 6, 15, 207, 111
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Test"
FONT 8, "MS Sans Serif"
{
DEFPUSHBUTTON "OK", 101, 148, 6, 50, 14
PUSHBUTTON "Cancel", 102, 148, 24, 50, 14
PUSHBUTTON "Help", 103, 148, 42, 50, 14
CHECKBOX "Checkbox", 104, 7, 14, 93, 11, BS_AUTOCHECKBOX | WS_TABSTOP
}
Changing the line IF .t. // enable/disable menu you can disable/enable the menu.
Marc
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
-
- Posts: 1102
- Joined: Mon Oct 17, 2005 5:41 am
- Location: Belgium
- Contact:
That's strange, here are the exe-files compiled on my PC.
http://www.vms.be/FWTest/TestMenu.zip
Marc
http://www.vms.be/FWTest/TestMenu.zip
Marc
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
-
- Posts: 1102
- Joined: Mon Oct 17, 2005 5:41 am
- Location: Belgium
- Contact:
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact: