Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Popup won't pop down
Message
De
18/03/2016 02:23:20
Lutz Scheffler
Lutz Scheffler Software Ingenieurbüro
Dresden, Allemagne
 
 
À
17/03/2016 19:51:49
Information générale
Forum:
Visual FoxPro
Catégorie:
Gestionnaire de menu & Menus
Divers
Thread ID:
01633275
Message ID:
01633310
Vues:
42
Hi Bill,

so back to basics.

IMHO, this is not the idea of using menus.

but if you realy need
*create the menu
  DO ssofficemen.mpr 
*activate the popup AND SUSPEND PROGRAM WHILE MENU IS ACTIVE
  ACTIVATE POPUP TRANSACTIO
*so here, no eventloop is active. you might clear events as long as you like
*just to show you program suspension 
?'now this line'

*start eventloop after 
  READ EVENTS
it would need something like
*mpr
SET SYSMENU TO
SET SYSMENU AUTOMATIC

DEFINE PAD _4l90uaf70 OF _MSYSMENU PROMPT "File" COLOR SCHEME 3 ;
	KEY ALT+F, ""
DEFINE PAD _4l90uaf71 OF _MSYSMENU PROMPT "Transaction" COLOR SCHEME 3 ;
	KEY ALT+T, ""
DEFINE PAD _4l90uaf72 OF _MSYSMENU PROMPT "Maintain" COLOR SCHEME 3 ;
	KEY ALT+M, ""
DEFINE PAD _4l90uaf73 OF _MSYSMENU PROMPT "Print" COLOR SCHEME 3 ;
	KEY ALT+P, ""
ON PAD _4l90uaf70 OF _MSYSMENU ACTIVATE POPUP file
ON PAD _4l90uaf71 OF _MSYSMENU ACTIVATE POPUP transactio
ON PAD _4l90uaf73 OF _MSYSMENU ACTIVATE POPUP print

DEFINE POPUP file MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF file PROMPT "Exit"
ON SELECTION BAR 1 OF file ;
	DO _4l90uaf74 ;
	IN LOCFILE("SSOFFICE\SSOFFICEMEN" ,"MPX;MPR|FXP;PRG" ,"WHERE is SSOFFICEMEN?")

DEFINE POPUP transactio MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF transactio PROMPT "Generate Bills"
ON SELECTION BAR 1 OF transactio ;
	DO _4l90uaf75 ;
	IN LOCFILE("SSOFFICE\SSOFFICEMEN" ,"MPX;MPR|FXP;PRG" ,"WHERE is SSOFFICEMEN?")

DEFINE POPUP print MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF print PROMPT "Print Bills"
DEFINE BAR 2 OF print PROMPT "View Invoce"
ON SELECTION BAR 1 OF print ;
	DO _4l90uaf76 ;
	IN LOCFILE("SSOFFICE\SSOFFICEMEN" ,"MPX;MPR|FXP;PRG" ,"WHERE is SSOFFICEMEN?")
ON SELECTION BAR 2 OF print ;
	DO _4l90uaf77 ;
	IN LOCFILE("SSOFFICE\SSOFFICEMEN" ,"MPX;MPR|FXP;PRG" ,"WHERE is SSOFFICEMEN?")


PROCEDURE _4l90uaf74
ln_mencol = 1
ln_menrow = 1
llEventLoop = .F.
CLEAR EVENTS

PROCEDURE _4l90uaf75
ln_mencol = 2
ln_menrow = 1
llEventLoop = .F.
CLEAR EVENTS

PROCEDURE _4l90uaf76
ln_mencol = 4
ln_menrow = 1
llEventLoop = .F.
CLEAR EVENTS

PROCEDURE _4l90uaf77
ln_mencol = 4
ln_menrow = 2
llEventLoop = .F.
CLEAR EVENTS
and your code like
 DO ssofficemen.mpr

PUBLIC llNoEventLoop
llEventLoop = .T.
  ACTIVATE POPUP TRANSACTIO
 if llEventLoop THEN
*menu bar not clicked, proceed
  RELEASE llNoEventLoop
  READ EVENTS
 ELSE
*menu bar clicked, do nothing
  RELEASE llNoEventLoop
 ENDIF
In genereal CLEAR EVENTS works only if the program stays somewhere else in READ EVENTS.

HTH

Lutz
Words are given to man to enable him to conceal his true feelings.
Charles Maurice de Talleyrand-Périgord

Weeks of programming can save you hours of planning.

Off

There is no place like [::1]
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform