TMenu and checked items

Post Reply
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

TMenu and checked items

Post 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
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Enrico,

Many thanks!

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

Antonio Linares
www.fivetechsoft.com
Post Reply