Koordinieren von Symbolleisten und Formularen mit Code
Symbolleisten können nicht nur mit dem Formular-Designer, sondern auch mittels Code zu einem Formularsatz hinzugefügt werden.
So fügen Sie mit Code eine Symbolleiste zu einem Formularsatz hinzu
- Verwenden Sie im Init-Ereignis des Formularsatzes den Befehl SET CLASSLIB, um die Bibliothek mit der Symbolleistenklasse anzugeben, und erstellen Sie danach ausgehend von dieser Klasse eine Symbolleiste im Formularsatz.
Um z. B. die Symbolleiste tbrPrint
, die auf der printing
-Klasse in der Klassenbibliothek inventory
basiert, hinzuzufügen und anzuzeigen, geben Sie im Init-Ereignis des Formularsatzes den folgenden Code ein:
SET CLASSLIB TO inventory
THIS.AddObject("tbrPrint","printing")
THIS.tbrPrint.Show
Anmerkung Wenn die Aktionen der Symbolleiste und ihrer Schaltflächen nicht in der Symbolleistenklasse definiert sind, müssen Sie die Aktionen in den entsprechenden Ereignisprozeduren der Symbolleiste und ihrer Schaltflächen definieren.
Beispiel:
Alle Aspekte einer Symbolleiste lassen sich auch mit Code festlegen. Mit den folgenden Codezeilen im Init-Ereignis des Formularsatzes können Sie beispielsweise die im Code angegebene Symbolleiste beim Laden des Formularsatzes erstellen und anzeigen. Diese Symbolleiste enthält zwei Schaltflächen:
Diese Schaltflächen ändern nach dem Anklicken die Schriftart-Attribute des im Formularsatz enthaltenen Formulars frmForm1
.
Init-Ereigniscode des Formularsatzes
Code | Kommentar |
---|---|
|
Fügt zum aktuellen Formularsatz eine Symbolleiste der Klasse mytoolbar hinzu und macht die Symbolleiste sichtbar. Dieser Code befindet sich im Init-Ereignis des Formularsatzes. |
Klassendefinitionscode
Code | Kommentar |
---|---|
|
Beginn der Klassendefinition: Eine Symbolleiste mit einer Befehlsschaltfläche, einem Zwischenraum und einer weiteren Befehlsschaltfläche. |
|
Legt die Eigenschaften des Symbolleisten-Objekts fest. |
|
Legt die Eigenschaften der Steuerelemente fest. Bei Schaltflächen in einer Symbolleiste können die Eigenschaften Top und Left nicht eingestellt werden. Die Steuerelemente in einer Symbolleiste werden automatisch in der Reihenfolge, in der sie hinzugefügt werden, angeordnet. Die FontBold-Eigenschaft von cmdItalic wird auf Falsch (.F.) eingestellt, weil FontBold standardmäßig auf Wahr (.T.) eingestellt ist. |
|
Wenn die Symbolleiste aktiviert wird, werden die Schriftart-Attribute der beiden Befehlsschaltflächen so eingestellt, dass sie den Schriftarteinstellungen für Fett und Kursiv des Formulars frmForm1 entsprechen. |
|
Wenn der Benutzer auf cmdBold klickt, wird die FontBold-Einstellung des Formulars frmForm1 umgeschaltet und die FontBold-Einstellung von cmdBold entsprechend angeglichen. |
|
Wenn der Benutzer auf cmdItalic klickt, wird die FontItalic-Einstellung des Formulars frmForm1 umgeschaltet und die FontItalic-Einstellung von cmdItalic entsprechend angeglichen. |
|
Ende der Klassendefinition. |
Einstellen der Eigenschaften von benutzerdefinierten Symbolleisten
Eigenschaften einer benutzerdefinierten Symbolleiste können zur Entwurfszeit festgelegt werden. So können Sie z. B. die Movable-Eigenschaft einstellen, wenn die Benutzer die Möglichkeit haben sollen, die Symbolleiste zu verschieben.
Darüber hinaus können Sie Methoden und Ereignisse zur Steuerung von Symbolleisten verwenden. Sie können die Symbolleiste z. B. mit der Dock-Methode andocken oder verschieben. Mit den Ereignissen BeforeDock und AfterDock bestimmen Sie, was vor und nach dem Andocken einer Symbolleiste geschehen soll.
Siehe auch
Hinzufügen von benutzerdefinierten Symbolleisten zu Formularsätzen | Definieren von Symbolleisten-Aktionen | Erstellen von benutzerdefinierten Symbolleisten | Dialogfeld "Symbolleiste anpassen" | Entwerfen von Menüs und Symbolleisten | Konfigurieren von Visual FoxPro | Definieren von Symbolleisten-Aktionen