Freigeben über


MRKPAD( )-Funktion

Stellt fest, ob ein Menütitel, der zu einer benutzerdefinierten Menüleiste oder zur Visual FoxPro-Systemmenüleiste gehört, markiert ist.

MRKPAD(cMenuBarName, cMenuTitleName)

Rückgabewerte

Logisch

Parameter

  • cMenuBarName
    Gibt den Namen der Menüleiste an, die den Menütitel enthält.
  • cMenuTitleName
    Gibt den Namen des Menütitels an.

Hinweise

Mit SET MARK OF können Sie einen Menütitel markieren oder dessen Markierung aufheben.

Ist der angegebene Menütitel markiert, gibt MRKPAD( ) den Wert Wahr (.T.) zurück; andernfalls wird Falsch (.F.) zurückgegeben.

Beispiel

Im folgenden Programmbeispiel (MARKPAD.PRG) wird bei Wahl eines Menütitels mit MRKPAD( ) das Markierungszeichen des Titels angezeigt bzw. ausgeblendet.

Die aktuelle Systemmenüleiste wird zunächst mit SET SYSMENU SAVE im Arbeitsspeicher gespeichert. Mit SET SYSMENU TO werden alle Systemmenüeinträge entfernt.

Mit DEFINE PAD werden mehrere Systemmenüeinträge erstellt. Sobald Sie einen Menüeintrag gewählt haben, wird die Prozedur choice ausgeführt. choice zeigt den Namen des gewählten Menüeintrags sowie den Namen der Menüleiste an. In SET MARK OF wird MRKPAD( ) verwendet, um das Markierungszeichen des Menüeintrags anzuzeigen oder zu entfernen. Sobald Sie das Menü Exit gewählt haben, wird das ursprüngliche Visual FoxPro-Systemmenü wiederhergestellt.

** Name this program MARKPAD.PRG ** CLEAR SET SYSMENU SAVE SET SYSMENU TO SET MARK OF MENU _MSYSMENU TO CHR(4) PUBLIC glMarkPad glMarkPad = .T. DEFINE PAD padSys OF _MSYSMENU PROMPT '<System' COLOR SCHEME 3 ; KEY ALT+S, '' DEFINE PAD padEdit OF _MSYSMENU PROMPT '<Edit' COLOR SCHEME 3 ; KEY ALT+E, '' DEFINE PAD padRecord OF _MSYSMENU PROMPT '<Record' COLOR SCHEME 3 ; KEY ALT+R, '' DEFINE PAD padWindow OF _MSYSMENU PROMPT '<Window' COLOR SCHEME 3 KEY ALT+W, '' DEFINE PAD padReport OF _MSYSMENU PROMPT 'Re<ports' COLOR SCHEME 3 ; KEY ALT+P, '' DEFINE PAD padExit OF _MSYSMENU PROMPT 'E<xit' COLOR SCHEME 3 ; KEY ALT+X, '' ON SELECTION MENU _MSYSMENU ; DO choice IN markpad WITH PAD( ), MENU( )

PROCEDURE choice
PARAMETER gcPad, gcMenu
WAIT WINDOW 'You chose ' + gcPad + ;
   ' from menu ' + gcMenu NOWAIT
SET MARK OF PAD (gcPad) OF _MSYSMENU TO ;
   ! MRKPAD('_MSYSMENU', gcPad)
glMarkPad= ! glMarkPad
IF gcPad = 'PADEXIT'
   SET SYSMENU TO DEFAULT
ENDIF

Siehe auch

MRKBAR( ) | SET MARK OF