Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Bad menu behavior
Message
De
01/05/2007 14:07:00
 
 
À
Tous
Information générale
Forum:
Visual FoxPro
Catégorie:
Gestionnaire de menu & Menus
Titre:
Bad menu behavior
Divers
Thread ID:
01221617
Message ID:
01221617
Vues:
74
Hi all,

Our application can 'store' away user defined menu and at some point, the menu choices exceeded the number that can be displayed. As such, the scroll up and down icons are displayed on the top and bottom of the popup respectively so the user can scroll through the menu choices. Then we got feedback that the menu choices are no longer available after they perform certain tasks.

This code snippet simulates the 'weird' behavior of the menu. This behavior is reproducable in VFP8SP1 and VFP9SP1.

Steps:
1. Start VFP and create a new program. Be sure that the Program Editor window is NOT MAXIMIZED. Copy and paste the following code below.
2. Run the code and inspect the menu. You should see the scroll buttons.
3.1 Maximize the Program editor and the menu will now list only the maximum number of menu choices that can be displayed.
3.2 You can also reproduce the behavior by clicking on Modal prompt.
3.3 Running the code using a Maximized Program editor will break the menu right off the bat.

Thoughts?
on key label F12 ExitTest()
wait window "Press F12 to cancel"
define pad MenuTest of _msysmenu prompt '\<MenuTest'
on pad MenuTest of _msysmenu activate popup FirstLevel
define popup FirstLevel margin shadow scroll
define bar 1 of FirstLevel prompt "FirstLevel"
on bar 1 of FirstLevel activate popup SecondLevel
define popup SecondLevel margin shadow scroll
for i = 1 to 100
   define bar i of SecondLevel prompt transform(i)+". " + iif(mod(i,2)=0,"Modal","Modeless")
   on selection bar i of SecondLevel DoMenu(mod(bar(),2)=0)
endfor
read events

procedure DoMenu(lModal)
   public oTest
   oTest = createobject("form")
   if lModal
      oTest.Show(1)
   else
      oTest.Show
   endif
endproc

procedure ExitTest
   set sysmenu to default
   cancel
endproc
ramil
~~ learning to stand still
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform