Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Wizards & Builders GmbH Der Menügenerator Arbeiten mit dem Menügenerator und ggf. Zusatztools unter Microsoft Visual FoxPro.

Ähnliche Präsentationen


Präsentation zum Thema: "Wizards & Builders GmbH Der Menügenerator Arbeiten mit dem Menügenerator und ggf. Zusatztools unter Microsoft Visual FoxPro."—  Präsentation transkript:

1 Wizards & Builders GmbH Der Menügenerator Arbeiten mit dem Menügenerator und ggf. Zusatztools unter Microsoft Visual FoxPro

2 Wizards & Builders GmbH Diese Schulung dient der Einführung in das Arbeiten mit dem Menügenerator zur Erzeugung von Menüs, ShortCut-Menüs, TopLevel-Menüs sowie der Einführung in GenMenuX und Menü-OO-Techniken unter Microsoft Visual FoxPro

3 Wizards & Builders GmbH Themenübersicht Menügenerator Menügenerator Dateistruktur Dateistruktur Normale Menüs Normale Menüs Kontextmenüs Kontextmenüs Modale Masken Modale Masken Top-Level-Menüs Top-Level-Menüs ShortCut-Menüs ShortCut-Menüs Menüobjekte Menüobjekte Data-Driven Menüs Data-Driven Menüs GenMenuX GenMenuX

4 Wizards & Builders GmbH Definition eines Menüs Definition eines Menüs unter Microsoft Visual FoxPro

5 Wizards & Builders GmbH Prinzip des Menügenerators Definieren des Menüs im Menüdesigner Definieren des Menüs im Menüdesigner Generieren des Codes (über Projekt) Generieren des Codes (über Projekt) Aufrufen des Menücodes (.MPR) Aufrufen des Menücodes (.MPR) Prozedurale Abarbeitung des Codes Prozedurale Abarbeitung des Codes Zugriff auf globale Vars und Procedures Zugriff auf globale Vars und Procedures Zugriff Objekte über _SCREEN.Activeform Zugriff Objekte über _SCREEN.Activeform

6 Wizards & Builders GmbH Modulare Menüs * Anzeige des Menüs * Anzeige des Menüs DO File.MPR DO File.MPR DO Edit.MPR DO Edit.MPR DO MyApp.MPR DO MyApp.MPR DO Window.MPR DO Window.MPR DO Help.MPR DO Help.MPR DO FORM InitialForm DO FORM InitialForm * Ereignissteuerung * Ereignissteuerung READ EVENTS

7 Wizards & Builders GmbH Sichern / Kaskadierend Sichern/Wiederherstellen des Menüs: Sichern/Wiederherstellen des Menüs: PUSH MENU _MSYSMENU POP MENU _MSYSMENU Kaskadierende Menüs: Kaskadierende Menüs: nur wenn mehr als ein Eintrag! nur wenn mehr als ein Eintrag! Ggf. statt Untermenü eine Maske Ggf. statt Untermenü eine Maske Bei Maskenaufruf... nicht vergessen! Bei Maskenaufruf... nicht vergessen!

8 Wizards & Builders GmbH Die Elemente eines Menüs

9 Wizards & Builders GmbH DEFINE PAD/POPUP Zurücksetzen Systemmenü: Zurücksetzen Systemmenü: SET SYSMENU TO SET SYSMENU TO PAD-Definition: PAD-Definition: DEFINE PAD padReports OF _MSYSMENU ; DEFINE PAD padReports OF _MSYSMENU ; PROMPT \

10 Wizards & Builders GmbH DEFINE BAR/ON SELECT ON PAD-Definition: ON PAD-Definition: ON PAD padReports OF _MSYSMENU ; ON PAD padReports OF _MSYSMENU ; ACTIVATE POPUP popReports ACTIVATE POPUP popReports BAR-Definition: BAR-Definition: DEFINE BAR 1 OF popReports ; DEFINE BAR 1 OF popReports ; PROMPT Rechnung MESSAGE PROMPT Rechnung MESSAGE ON SELECTION BAR-Definition: ON SELECTION BAR-Definition: ON SELECTION BAR 1 OF popReports ; ON SELECTION BAR 1 OF popReports ; REPORT FORM INVOICE.FRX PREVIEW REPORT FORM INVOICE.FRX PREVIEW

11 Wizards & Builders GmbH Systemmenüs System-Menüs verwenden: System-Menüs verwenden: Edit pad _MSM_EDIT popup _MEDIT Edit pad _MSM_EDIT popup _MEDIT Window pad _MSM_WINDO popu _MWINDOW Window pad _MSM_WINDO popu _MWINDOW Übersicht über Systemmenünamen: Übersicht über Systemmenünamen: SYS(2013) SYS(2013) Quick Menü Quick Menü Insert Bar Insert Bar SYS(1500, _MED_FIND, _MEDIT) SYS(1500, _MED_FIND, _MEDIT)

12 Wizards & Builders GmbH SKIP FOR SKIP FOR (.T. = disabled) SKIP FOR (.T. = disabled) DEFINE BAR 3 OF _MFILE ; DEFINE BAR 3 OF _MFILE ; PROMPT Close MESSAGE Close form ; PROMPT Close MESSAGE Close form ; SKIP FOR TYPE("_SCREEN.ActiveForm")!="O" SKIP FOR TYPE("_SCREEN.ActiveForm")!="O" ON SELECTION BAR 3 OF _MFILE ; ON SELECTION BAR 3 OF _MFILE ; _SCREEN.ActiveForm.Release _SCREEN.ActiveForm.Release Systemmenüs disablen sich selbst (Del) Systemmenüs disablen sich selbst (Del) SET SKIP OF nicht Windows-konform! SET SKIP OF nicht Windows-konform! stattdessen Popup entfernen! stattdessen Popup entfernen!

13 Wizards & Builders GmbH Maskenanbindung Anbindung von Menüs an Masken, Beispiel für RecentlyUsed-Menüs unter Microsoft Visual FoxPro

14 Wizards & Builders GmbH Maskenanbindung Optionen: Append, Before, After Optionen: Append, Before, After nicht Replace!!! nicht Replace!!! Pad Name eintragen (benötigt) Pad Name eintragen (benötigt) Activate der Maske: Activate der Maske: DO FormMenu.MPR DO FormMenu.MPR Deactivate der Maske: Deactivate der Maske: RELEASE PAD myform OF _MSYSMENU RELEASE PAD myform OF _MSYSMENU

15 Wizards & Builders GmbH Menüs in modalen Masken Alle Menüeintrage sind disabled! Alle Menüeintrage sind disabled! Neu aufrufen des Menüs - alles enabled! Neu aufrufen des Menüs - alles enabled! Pseudo-modale Masken stattdessen: Pseudo-modale Masken stattdessen: logischer glModal- oder oApp.lModal-Schalter logischer glModal- oder oApp.lModal-Schalter alle unerwünschten Menüs SKIP FOR glModal... alle unerwünschten Menüs SKIP FOR glModal... Modale Maske setzen glModal und Deactivate.F. Modale Maske setzen glModal und Deactivate.F. keine systemmodalen Masken mehr möglich... keine systemmodalen Masken mehr möglich...

16 Wizards & Builders GmbH Recently Used Files List Datei (prompt, Action, Timestamp) Datei (prompt, Action, Timestamp) LOCATE FOR prompt = cFormName IF FOUND() REPLACE Timestamp WITH DATETIME() REPLACE Timestamp WITH DATETIME()ELSE IF RECCOUNT() < nMaxItems IF RECCOUNT() < nMaxItems INSERT INTO VALUES(cFormName, cAction, DATETIME()) INSERT INTO VALUES(cFormName, cAction, DATETIME()) ELSE ELSE SET ORDER TO Timestamp ASCENDING SET ORDER TO Timestamp ASCENDING GO TOP GO TOP REPLACE prompt WITH cFormName, Action WITH cAction, ; REPLACE prompt WITH cFormName, Action WITH cAction, ; Timestamp WITH DATETIME() Timestamp WITH DATETIME() ENDIF ENDIFENDIF

17 Wizards & Builders GmbH Recently Used im File-Menü Manuelles Erzeugen von Einträgen: Manuelles Erzeugen von Einträgen: DEFINE BAR nBar OF _MFILE PROMPT "\-" SCAN nBar = nBar + 1 iPrefix = iPrefix + 1 cAction = ALLTRIM(UPrefs.Action) DEFINE BAR nBar OF _MFILE PROMPT "\<" + ; ALLTRIM(STR(iPrefix)) + " " + UPrefs.Prompt ON SELECTION BAR nBar OF _MFILE &cAction ENDSCAN * Add the Exit menu item DEFINE BAR nBar + 1 OF _MFILE PROMPT "\-" DEFINE BAR nBar + 2 OF _MFILE PROMPT "E\

18 Wizards & Builders GmbH Top-Level- und ShortCut-Menüs Menüs in Top-Level-Masken und ShortCut-Menüs auf Maustaste in Microsoft Visual FoxPro

19 Wizards & Builders GmbH Top Level Menüs SDI-Masken (ShowWindow=2) SDI-Masken (ShowWindow=2) ggf. kein Zugriff auf Systemmenü, deshalb eigenes ggf. kein Zugriff auf Systemmenü, deshalb eigenes Schalter für Top-Level-Menüs Schalter für Top-Level-Menüs Aufruf mit Referenz und Name/Flag Aufruf mit Referenz und Name/Flag DO WITH [, | ] DO WITH [, | ] Zusatzschalter ist für Multiple Instances (SET DRIVECRAZY) Zusatzschalter ist für Multiple Instances (SET DRIVECRAZY) Beseitigung im Destroy Beseitigung im Destroy RELEASE MENU ( THIS.NAME ) RELEASE MENU ( THIS.NAME )

20 Wizards & Builders GmbH Short Cut Menüs Menügenerator als erste Auswahl Menügenerator als erste Auswahl Markierungen können mit #PREPOP gesetzt werden (Cleanup vorverlagert) Markierungen können mit #PREPOP gesetzt werden (Cleanup vorverlagert) Aufruf über das Rightclick-Event Aufruf über das Rightclick-Event DO frmshort.mpr WITH THIS PARAMETER oREF #PREPOP SET MARK OF BAR 4 OF frmshort TO oRef.AlwaysOnTop

21 Wizards & Builders GmbH Short Cuts manuell l l \SAMPLES\CLASSES\UTILITY.VCX menulib class Code im Rightclick der Maske: Code im Rightclick der DO CASE CASE BAR()=1 THISFORM.AutoCenter=.T. CASE BAR()=2 THISFORM.SetFont && a user-defined method CASE BAR()=3 THISFORM.WindowState=1 CASE BAR()=5 THISFORM.ReleaseENDCASE

22 Wizards & Builders GmbH OO- und DD-Menüs Objektorientierte Menüs und Data- Driven-Menüs unter Microsoft Visual FoxPro

23 Wizards & Builders GmbH Objektorientierte Menüs Menüs können auch aus Objekten heraus generiert werden, die entsprechende Methoden besitzen Menüs können auch aus Objekten heraus generiert werden, die entsprechende Methoden besitzen Verwendet z.B. im Visual Codebook, Visual FoxExpress Verwendet z.B. im Visual Codebook, Visual FoxExpress Vorteil: Objektorientierte Syntax Vorteil: Objektorientierte Syntax Nachteil: Meist kein guter Designer... Nachteil: Meist kein guter Designer...

24 Wizards & Builders GmbH Data-Driven Menüs Ggf. Tabelle für Bars: Ggf. Tabelle für Bars:SCAN DEFINE PAD (ALLTRIM(npad)) OF _MSYSMENU ; PROMPT ALLTRIM(Prompt) MESSAGE ALLTRIM(Message) DO DefinePop WITH popname, npad, dbfname ENDSCAN Tabelle für Popups Tabelle für Popups Generische Funktion für Definition Generische Funktion für Definition Sinnvoll: Private Datasession, Filter! Sinnvoll: Private Datasession, Filter!

25 Wizards & Builders GmbH GenMenuX Verwendung des Menü-Extenders GenMenux (Andrew Ross McNeill) in Microsoft Visual FoxPro

26 Wizards & Builders GmbH Übersicht GenMenuX Erweiterung des Maskengenerators: Definition von Position, Farbe, Aktionen Definition von Position, Farbe, Aktionen Logische Klauseln statt SKIPFOR Logische Klauseln statt SKIPFOR Automatische Hot Keys Automatische Hot Keys Treiber (Pre-/Post-Driver) Treiber (Pre-/Post-Driver) Templates (Eintrags-Bibliothek) Templates (Eintrags-Bibliothek)

27 Wizards & Builders GmbH Funktionen GenMenuX (1) Config- und Setup-Directives: AUTOACT, -HOT, -POS, -RUN AUTOACT, -HOT, -POS, -RUN FOUNDATION (Foundation Read) FOUNDATION (Foundation Read) FOXMNX (Bibliotheksdatei) FOXMNX (Bibliotheksdatei) HIDE (verstecken während Aufbau) HIDE (verstecken während Aufbau) MNXDRV1-5, MPRDRV1-2 (Treiber) MNXDRV1-5, MPRDRV1-2 (Treiber) SYSPOP (Push/Pop Menu) SYSPOP (Push/Pop Menu)

28 Wizards & Builders GmbH Funktionen GenMenuX (2) Setup-Directives: LOCATION (statt Generator) LOCATION (statt Generator) MENU-, POP-, PAD-COLOR MENU-, POP-, PAD-COLOR MENUNAME MENUNAME NOACT, NOAUTO, NOLOC, NOMARGIN, NOSHADOW NOACT, NOAUTO, NOLOC, NOMARGIN, NOSHADOW SYSDEFAULT SYSDEFAULT

29 Wizards & Builders GmbH Funktionen GenMenuX (3) Comment-Directives: ARRAY ARRAY CASE CASE CLAUSE CLAUSE IF, GENIF, POPIF IF, GENIF, POPIF MESSAGE, PADNAME, POPNAME MESSAGE, PADNAME, POPNAME POPCOMMAND, -FIELD, -FILES POPCOMMAND, -FIELD, -FILES

30 Wizards & Builders GmbH Abarbeitungsreihenfolge (1) Temporäre Datei Temporäre Datei NOXGEN-Abbruch NOXGEN-Abbruch GENMENUX-Head GENMENUX-Head SYSDEFAULT SYSDEFAULT MNXDRV1 MNXDRV1 Menu-Hotkeys Menu-Hotkeys IGNORE/GENIF/DELE TE/MESSAGE IGNORE/GENIF/DELE TE/MESSAGE MNXDRV2 MNXDRV2 Neusortierung Neusortierung IF-Bedingungen IF-Bedingungen MNXDRV3 MNXDRV3 MNXDRV4 MNXDRV4 MNXDRV5 oder _GENMENUX MNXDRV5 oder _GENMENUX POP-Commands POP-Commands

31 Wizards & Builders GmbH Abarbeitungsreihenfolge (2) MPRDRV2 MPRDRV2 Klauseln: Klauseln: NOMARGIN NOBAR WINDOW POPCOLOR PADCOLOR NOSHADOW LINE MENUNAME {{}} NOMARGIN NOBAR WINDOW POPCOLOR PADCOLOR NOSHADOW LINE MENUNAME {{}} MPRDRV2 MPRDRV2 Temporär-dateien Temporär-dateien AUTORUN AUTORUN

32 Wizards & Builders GmbH Was ist zu bedenken? Systemmenüs Systemmenüs Recently Used-Liste Recently Used-Liste Top-Level-Forms Top-Level-Forms ShortCuts ShortCuts OO-Menüs OO-Menüs Data-Driven Menüs Data-Driven Menüs GenMenuX GenMenuX

33 Wizards & Builders GmbH Vielen Dank! Das waren die Themen: Menügenerator Menügenerator Dateistruktur Dateistruktur Normale Menüs Normale Menüs Kontextmenüs Kontextmenüs Modale Masken Modale Masken Top-Level-Menüs Top-Level-Menüs ShortCut-Menüs ShortCut-Menüs Menüobjekte Menüobjekte Data-Driven Menüs Data-Driven Menüs GenMenuX GenMenuX

34 Wizards & Builders GmbH Wenn Fragen bestehen: Wizards & Builders Methodische Software- Entwicklung GmbH Frankfurter Str. 21b Kronberg Tel.: Fax: CIS: ,175


Herunterladen ppt "Wizards & Builders GmbH Der Menügenerator Arbeiten mit dem Menügenerator und ggf. Zusatztools unter Microsoft Visual FoxPro."

Ähnliche Präsentationen


Google-Anzeigen