Mens und Toolbars in VFP Unser Knowhow fr
Menüs und Toolbars in VFP Unser Know-how für Ihre Projekte! 1
Menüs und Toolbars n In fast alle Programmen findet man Menus: • Menüs gehören zur Windows-Standard. Funktionalität. • Sie sind sowohl mit der Maus als auch mit der Tastatur gut zu bedienen. n Auch Toolbars erfreuen sich großer Beliebtheit: • Toolbars sind das grafische Pendant zu Menüs. • Allerdings sind Toolbars der reinen Mausbedienung vorbehalten. Unser Know-how für Ihre Projekte! 2
Menüs in VFP 6. 0 Häufigste Art von Menüs ist das System-Menü des VFP-Hauptfensters oder einer Top-Level. Form. Dieses Menü kann programmatisch angepaßt und erweitert werden. n Eine weitere Variante sind sogenannte Kontext. Menüs, die üblicherweise mit der rechten Maustaste aktiviert werden. n Seltener kommen eigendefinierte Menüs innerhalb von einzelnen Maskenfenstern zum Einsatz. n Unser Know-how für Ihre Projekte! 3
Erstellen von Menüs n n n Menüs sind unter VFP keine Objekte. Menüs werden mit dem Menü-Designer erstellt. Der Menü-Designer erstellt Quell-Code. Menüprogramme haben die Endung. MPR "Vererben" durch Kopieren! Es existieren aber auch objektorientierte Ansätze für Menüs! Unser Know-how für Ihre Projekte! 4
Begriffsklärung für Menüs (I) Einzelnes Menü-Pad Menü-Bar mit vier Menü-Pads einzelnes Popup mit drei Bars diverse einzelne Popup-Bars Unser Know-how für Ihre Projekte! 5
Begriffsklärung für Menüs (II) n Menü-Bar • Für das System-Menü gibt es nur einen Menu-Bar, der weder verschoben noch in der Größe verändert werden kann. Lediglich die Schriftart kann über Windows. Systemeinstellungen angepaßt werden. n Menü-Pad • Die einzelnen Einträge in einem Menü-Bar nennt man Pad. n Popup • Einen Pad kann entweder eine Aktion oder ein nachgeordnetes Popup zugewiesen sein. n Bar • Eine Zeile in einem Popup wird als Bar bezeichnet. Unser Know-how für Ihre Projekte! 6
Drei selbstprogrammierte Grundmenüs als Beispiele n MAIN Das Menü des Hauptprogrammes erscheint mit • Datei, Ansicht, Einfügen, Hilfe, Ende. n APPMENU Dieses Standardmenü gehört zu einer bestimmten Standard-Maske: • Datei, Bearbeiten, Ansicht, Einfügen n MODAL Menüs für modale Forms enthalten mindestens: • Schließen Unser Know-how für Ihre Projekte! 7
Der Menü-Designer von VFP n Aufruf des Designers: • CREATE MENU <menuname> • aus dem Projektmanager – Andere • Menüs – Neu n Starten eines erstellten Menüs • DO <menuname>. mpr Unser Know-how für Ihre Projekte! 8
Der Menü-Designer von VFP Beschriftung des Menüpunktes Auszuführende Aktion Optionen MenüLevel Organisations. Buttons Unser Know-how für Ihre Projekte! 9
Arbeiten mit dem MenüDesigner n Bezeichnung: • Text, der als Menüpunkt erscheinen soll n Auszuführende Aktion (Ergebnis): • • n Befehl Menüblockname Untermenü Prozedur Optionen: • weitere spezielle Einstellungen Unser Know-how für Ihre Projekte! 10
Mögliche Aktionen eines Menüpunktes n Befehl: • Dieser Befehl wird ausgeführt, wenn der Menüpunkt angewählt wird. n Menüblockname: • Name eines Menüblockes des Systemmenüs, der einbezogen werden soll n Untermenü: • Dieser Menüpunkt bekommt ein Popup als Untermenü. n Prozedur: • Möglichkeit zur Eingabe einer Prozedur, die ausgeführt werden soll. Unser Know-how für Ihre Projekte! 11
Das Optionsfeld eines Menüeintrags n n n Short. Cut: Tastenkürzel für Short. Cut-Taste (inklusive Beschriftung) OLE-Position: Position des Menüs, wenn OLE-Anwendung eingebettet wird Deaktivieren: Angabe logischen Ausdrucks zum Deaktivieren eines Menüpunkts: True - Menüpunkt deaktiviert False - Menüpunkt aktiviert (Standard) Meldung: in der Statuszeile auszugebenden Text Menüblockname: Möglichkeit zur Vergabe eines eigenen Menüblocknamens Unser Know-how für Ihre Projekte! 12
Arbeiten mit dem MenüDesigner Mit dem Preview-Button kann das Menü auf seine optische Wirkung hin geprüft werden. n Mit dem Menüpunkt "Generieren" wird der zugehörige Quelltext erstellt. n Zusätzliche Optionen für spezielle Zwecke im Menüdesigner verbergen sich im Menü View bzw. Ansicht. n Unser Know-how für Ihre Projekte! 13
Arbeiten mit Menüs n Auf den Menü-Bar des System-Menüs kann über den Befehl SET SYSMENU mit einer der folgenden Optionen zugegriffen werden: • ON • OFF • AUTOMATIC • DEFAULT Unser Know-how für Ihre Projekte! • SAVE • TO • NOSAVE 14
Programmtechnischer Umgang mit Menüs n Wichtige Befehle und Funktionen im Zusammenhang mit Menüs und Popups: MENU( ) PAD( ) PROMPT( ) POPUP( ) BAR() n CNTBAR( ) GETBAR( ) MRKBAR( ) PRMBAR( ) SET MARK OF Das Systemmenu kann unter dem Namen _msysmenu angesprochen werden. Unser Know-how für Ihre Projekte! 15
Kopplung von Menü und Maske (I) n Ein maskenspezifisches Menü kann man mit einer modalen Form koppeln: • im Load- bzw. Init-Event der Form push menu _msysmenu do <menüname>. mpr • im Un. Load- bzw. Destroy-Event pop menu _msysmenu Unser Know-how für Ihre Projekte! 16
Kopplung von Menü und Maske (II) n Ein maskenspezifisches Menü kann man mit einer nicht-modalen Form koppeln: • im Activate-Event der Form push menu _msysmenu do <menüname>. mpr • im Deactivate-Event pop menu _msysmenu Unser Know-how für Ihre Projekte! 17
Kontext-Menüs werden im Menü-Designer als Shortcut-Menüs erstellt. n Der Aufruf erfolgt üblicherweise aus dem Right-Click-Event eines Controls oder über eine ON RIGHTMAUSE-Konstruktion. n Zu beachten ist dabei, daß auf die aktuelle Maske immer über _screen. Active. Form Bezug genommen werden muß (This. Form ist hierbei nicht zugelassen!). n Unser Know-how für Ihre Projekte! 18
Die Toolbar n n n Toolbars sind das grafische Pendant zu Menüs. Allerdings sind Toolbars der reinen Mausbedienung vorbehalten. Theoretisch können in einer Toolbar beliebige Controls mit Ausnahme des Grid eingesetzt werden. In der Praxis werden im wesentlichen Buttons sowie Option. Groups und Checkboxen eingesetzt, die letzteren beiden im grafischen Stil. Der praktische Einsatz diverser Controls ist allerdings nicht sehr sinnvoll und gestaltet sich zudem programm- und bedientechnisch schwierig, da diverse Controls innerhalb einer Toolbar anders reagieren als auf einer normalen Maske. Unser Know-how für Ihre Projekte! 19
Erstellen einer Toolbar (I) n Erstellen von Toolbar-Klassen • • n create class <name> basierend auf "Toolbar" Toolbar bearbeiten abspeichern Klassenbibliothek in der Form-Control. Toolbar registrieren Unser Know-how für Ihre Projekte! 20
Erstellen einer Toolbar (II) n Eine Toolbar zur Design-Zeit zu einer Form hinzufügen: • Maske aufrufen mit Form-Designer • von Klassen-Toolbar auf Form bringen n Eine Toolbar zur Laufzeit programmatisch im Init. Event der Form erzeugen: • This. New. Object(<name>, <klassen-name>, <vcx-Name>) • This. <name>. show() Unser Know-how für Ihre Projekte! 21
Menü und Toolbar koordinieren Achten Sie darauf, daß für gleiche Aktionen in Menü und Toolbar, z. B. "erster Datensatz, gleiche Funktionen (Methoden) aufgerufen werden! n Eine sinnvolle Möglichkeit ist es, in jeder Maske eine Methode einzubauen und diese dann aufzurufen über _screen. Active. Form. Erster. Datensatz() n Aus der Methode "Erster. Datensatz" kann man dann auf die anderen Element der Maske wieder mit "This. Form" zugreifen! n Unser Know-how für Ihre Projekte! 22
- Slides: 22