Checked menu item

General Help regarding HMG, Compilation, Linking, Samples

Moderator: Rathinagiri

Post Reply
User avatar
esgici
Posts: 4543
Joined: Wed Jul 30, 2008 9:17 pm
DBs Used: DBF
Location: iskenderun / Turkiye
Contact:

Checked menu item

Post by esgici »

Hi All

I want "checked" status of a menu item depending on a logical variable.

Regarding HMG-Doc this possible with "alternate syntax" :

Code: Select all

                  MENUITEM <cItemCaption>
                        ONCLICK <ActionProvedureName> | <bBlock>
                        [ NAME <MenuItemName>]
                        [ IMAGE <cImageName> ]
                        [ CHECKED <lValue> ]

Sadly, I'm unsuccessful :(

Where I'am wrong ?

Code: Select all

#include <hmg.ch>

PROC Main()

    DEFINE WINDOW frmChekMenu;
        AT 0,0 ;
        WIDTH 400 ;
        HEIGHT 400 ;
        TITLE 'Checked Menu Items test' ;
        MAIN

        ON KEY ESCAPE ACTION frmChekMenu.Release

        
        DEFINE MAIN MENU
           
            POPUP "Test"
              lChecked := .T.
              MENUITEM "Checked"    CHECKED lChecked ONCLICK MsgBox( "Checked" )
              lChecked := .F.
              MENUITEM "Un-checked" CHECKED lChecked ONCLICK MsgBox( "Un-Checked" )
            END POPUP

        END MENU
        
    END WINDOW

    CENTER   WINDOW frmChekMenu
    ACTIVATE WINDOW frmChekMenu

RETU // Main()
CheckedMenuItem.jpg
CheckedMenuItem.jpg (5.65 KiB) Viewed 1804 times
Any idea ?

Regards

--

Esgici
Viva INTERNATIONAL HMG :D
User avatar
cdsaenz
Posts: 58
Joined: Sun Jul 11, 2010 4:02 am

Re: Checked menu item

Post by cdsaenz »

Strange. My memory on how to create commands in Clipper fails, but I just did a small change in MENUITEM (in my own program) and renamed it to MENUITEM2 as seen below and it works apparently.

I only changed CHECKED <.checked.> to CHECKED <checked>.

Or maybe it's a problem with the alternative syntaxes mixing up... Try the code below, it seems to work fine (we still need to figure out the problem in the base code)

Code: Select all

#include <hmg.ch>
#xcommand MENUITEM2 <caption> [ ONCLICK <action> ] [ NAME <name> ] [ IMAGE <image> ] [ CHECKED <checked> ];
=> ;
_DefineMenuItem ( <caption> , <{action}> , <"name"> , <image> , <checked> )

PROC Main()

    DEFINE WINDOW frmChekMenu;
        AT 0,0 ;
        WIDTH 400 ;
        HEIGHT 400 ;
        TITLE 'Checked Menu Items test' ;
        MAIN

        ON KEY ESCAPE ACTION frmChekMenu.Release

        
        DEFINE MAIN MENU
           
            POPUP "Test"              
              lChecked := .T.
              MENUITEM2 "checked" CHECKED lChecked ONCLICK MsgBox( "Checked" )
              lChecked := .F.              
              MENUITEM2 "Un-checked" CHECKED lChecked ONCLICK MsgBox( "Un-Checked" )
            END POPUP

        END MENU
        
    END WINDOW

    CENTER   WINDOW frmChekMenu
    ACTIVATE WINDOW frmChekMenu

RETU // Main()
Charly
Argentina, Hobbyist developer, Clipper/Delphi/PHP/Progress
User avatar
esgici
Posts: 4543
Joined: Wed Jul 30, 2008 9:17 pm
DBs Used: DBF
Location: iskenderun / Turkiye
Contact:

Re: Checked menu item

Post by esgici »

Thanks Charly, worked fine :)

I don't know meaning of enclosing parameters with periods and curly braces beside angle brackets, so what is difference between <.checked.> and <checked>.

I hope that Roberto will solve by the best way.

Regards

--

Esgici
Viva INTERNATIONAL HMG :D
Post Reply