Menu in dialog

Menu in dialog

Postby Marc Vanzegbroeck » Tue Aug 29, 2006 9:23 am

Hello,

I can add a buttonbar on a dialog, but is it possible to have a menu (and buttonbar) in a dialog?

Thanks,
Marc
Marc Vanzegbroeck
 
Posts: 1157
Joined: Mon Oct 17, 2005 5:41 am
Location: Belgium

Re: Menu in dialog

Postby Enrico Maria Giordano » Tue Aug 29, 2006 9:47 am

Yes, just build the menu in the ON INIT clause.

EMG
User avatar
Enrico Maria Giordano
 
Posts: 8243
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia

Postby Marc Vanzegbroeck » Tue Aug 29, 2006 9:53 am

Thanks Enrico,

Why didn't I think of doing that... :oops: .
I already do it for my buttonbar...

Marc
Marc Vanzegbroeck
 
Posts: 1157
Joined: Mon Oct 17, 2005 5:41 am
Location: Belgium

Postby Enrico Maria Giordano » Tue Aug 29, 2006 7:21 pm

This is a working sample:

Code: Select all  Expand view
#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


EMG
User avatar
Enrico Maria Giordano
 
Posts: 8243
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia

Postby Marc Vanzegbroeck » Thu Aug 31, 2006 6:30 am

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
Marc Vanzegbroeck
 
Posts: 1157
Joined: Mon Oct 17, 2005 5:41 am
Location: Belgium

Postby Enrico Maria Giordano » Thu Aug 31, 2006 10:37 am

Sorry, I'm unable to replicate that problem here.

EMG
User avatar
Enrico Maria Giordano
 
Posts: 8243
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia

Postby Marc Vanzegbroeck » Thu Aug 31, 2006 12:21 pm

Here is an example so you can see that it's not working after calling the menu.
Code: Select all  Expand view
#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


Here is the rc-file
Code: Select all  Expand view
/****************************************************************************


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
Marc Vanzegbroeck
 
Posts: 1157
Joined: Mon Oct 17, 2005 5:41 am
Location: Belgium

Postby Enrico Maria Giordano » Thu Aug 31, 2006 12:33 pm

Works fine here, sorry.

EMG
User avatar
Enrico Maria Giordano
 
Posts: 8243
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia

Postby Marc Vanzegbroeck » Thu Aug 31, 2006 1:23 pm

That's strange, here are the exe-files compiled on my PC.

http://www.vms.be/FWTest/TestMenu.zip

Marc
Marc Vanzegbroeck
 
Posts: 1157
Joined: Mon Oct 17, 2005 5:41 am
Location: Belgium

Postby Enrico Maria Giordano » Thu Aug 31, 2006 3:26 pm

I confirm the problem with your EXE. Do you want mine?

EMG
User avatar
Enrico Maria Giordano
 
Posts: 8243
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia

Postby Marc Vanzegbroeck » Thu Aug 31, 2006 3:45 pm

No need to send your exe-file, I you say they are working, I'am sure they do, but could be that I'am using FW195 and you are using a newer release?

Marc
Marc Vanzegbroeck
 
Posts: 1157
Joined: Mon Oct 17, 2005 5:41 am
Location: Belgium

Postby Enrico Maria Giordano » Thu Aug 31, 2006 4:37 pm

Yes, definitely.

EMG
User avatar
Enrico Maria Giordano
 
Posts: 8243
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia


Return to FiveWin for CA-Clipper

Who is online

Users browsing this forum: No registered users and 4 guests