Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Deactivating and re Activating a menu causes screen to j
Message
 
À
05/05/2005 11:21:41
Information générale
Forum:
Visual FoxPro
Catégorie:
Gestionnaire de menu & Menus
Versions des environnements
Visual FoxPro:
VFP 7 SP1
Divers
Thread ID:
01010971
Message ID:
01011840
Vues:
23
You can also disable menu bars with function pointers. You would not have to scan through the menu if you did it that way - if that is what your doing.
DEFINE BAR 6 OF HELP PROMPT "Activation" SKIP FOR isActivationRequired()


>The application in question starts with a main menu displaying 'File', 'Go', 'Utilities', 'Help'.
>If any form is opened it is required to disable 'Utilities'. When a form is opened the main menu is deactivated and then reactivated disabling 'Utilities' (more than one form can be opened maintaining 'Utilities' disabled). When all forms are closed the main menu is deactivated and then reactivated enabling 'Utilities'. When the menu is deactivated the screen adjusts the height of the menu for a split second to fill the screen (the screen jumps up). When the menu is reactivated the screen readjusts the height of the menu (the rest of the screen jumps down the height of the menu). This is undesirable. How can this be prevented.
>
>Sample of code from within a Scan/EndScan to enable/disable 'Utilities':
>
>
>Select curMainMenu
>i = 0
>
>Scan
>
>lcBarName = Alltrim(curMainMenu.cBarname)
>lcHotKey = curMainMenu.cHotKey
>lcBarName = Strtran(Alltrim(curMainMenu.cBarname),lcHotKey,[\<]+lcHotKey,1,1,3)
>
>i = i + 1
>lcCommand = "Define Pad MainMenu"+Alltrim(Str(i))+" Of mnuMain Prompt ["+lcBarName+"]"
>
>If lcBarName = '\> lcCommand = lcCommand+[ SKIP] && disable 'Utilities'
>Endif
>
>&lcCommand
>
>.
>.
>.
>.
>
>
>Sample code to Activate and Deactivate main menu:
>
>Note: LockScreen does not work
>
>oMainLib.nOpen = oMainLib.nOpen - 1
>
>IF oMainLib.nOpen = 0
> frmMain.LockScreen = .T.
> DEACTIVATE MENU mnuMain
> RELEASE MENU mnuMain EXTENDED
> xcststdmenu.getmenu(.F.) && table driven code that generates and activates the menu
> frmMain.LockScreen = .F.
>ENDIF
>
>
>
>
>
>
>I hope this explains better.
Imagination is more important than knowledge
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform