Page 1 of 1

TMenu and checked items

Posted: Mon Feb 06, 2006 9:37 am
by Enrico Maria Giordano
The following sample shows an unpleasant inset effect in checked menu items:

Code: Select all

#include "Fivewin.ch"


FUNCTION MAIN()

    LOCAL oWnd

    DEFINE WINDOW oWnd;
           MENU BUILDMENU()

    ACTIVATE WINDOW oWnd

    RETURN NIL


STATIC FUNCTION BUILDMENU()

    LOCAL oMenu

    MENU oMenu
        MENUITEM "Test"

        MENU
            MENUITEM "Test1" ACTION MSGINFO( "Test1" ) CHECKED
            SEPARATOR
            MENUITEM "Test2" ACTION MSGINFO( "Test2" )
        ENDMENU
    ENDMENU

    RETURN oMenu
This is not a fix but with the following change in Add method (I just add a .f.) the effect vanishes:

Code: Select all

   else
      if oMenuItem:cPrompt != nil
         AppendMenu( ::hMenu,;
                     nOR( If( oMenuItem:lActive,;
                          nOr( MF_ENABLED, If( oMenuItem:hBitmap != 0 .or. ;
                          ( .f. .and. IsWinNT() .and. ! lRoot .and. ! ::lSysMenu ),;
                          MF_OWNERDRAW, 0 ) ),;
EMG

Posted: Tue Feb 07, 2006 10:42 am
by Antonio Linares
Enrico,

Many thanks!

Will you mind to email me menu.prg to be sure we have the same code ? thanks.

Posted: Tue Feb 07, 2006 10:46 am
by Enrico Maria Giordano
Sent.

EMG