© 2017
|
 |
|
MenuX.Ocx
frei konfigurierbare Menüs für VB
Unter Visual Basic ist es direkt nicht möglich, Menüs während der Laufzeit beliebig zu verändern.
Möchten Sie den Anwendern Ihrer Programme eine Funktionalität wie z.B. die Anpassen-Funktion unter
Word-für-Windows bieten, dann können Sie dies mit dem MenuX.Ocx unproblematisch erreichen.
Desweiteren vereinfacht es Ihnen das MenuX-Control, unterschiedliche Konfigurationen für verschiedene
Benutzer(-Gruppen) vorzugeben bzw. zu speichern.
Das MenuX-Controls läd zur Laufzeit das Menü aus einer Beschreibungsdatei.
Diese Beschreibungsdatei kann vom Benutzer an die eigenen Wünsche angepaßt werden; entweder vor dem
Programmstart oder auch während der Programmausführung über entsprechende Dialoge.
Download:
Download der 32-Bit-Demoversion (Version 2.0.0.12, 28.11.99, 340 KBytes)
VB5-Laufzeitsystem (2650 KBytes)
Hinweis: Wenn Sie ein Ocx mit der Version < 2.0.0.10 installiert haben, dann löschen Sie dies bitte von Hand vor der Installation aus dem Windows-Systemverzeichnis!
neu in Version 2.0:
Icons vor die Menüpunkte... | ...oder mit Logo-Bild... | ...und Hintergrund-Bild... | ...oder gleich Bilder als Caption, auch in der Menüzeile! |
 |
 |
 |
 |
Screenshots:
|

Beispiel-Bescheibungsdatei im Editor |
|

geladene Beispiel-Bescheibungsdatei |
Anwendung:
- Das Control auf der Form plazieren (ist zur Laufzeit unsichtbar).
- In Form_Load die hwnd-Eigenschaft setzen (z.B. MenuX1.hWnd=Me.hWnd).
- Falls es sich um ein MDI-Child handelt, während der Entwurfszeit die MDIChild-Eigenschaft auf True setzen.
- Im Programm die Beschreibungsdatei per Load- bzw. LoadSection-Methode laden.
- Die Click-Ereignisse verarbeiten.
Eigenschaften:
- Die hWnd-Eigenschaft stellt
die Verbindung zu einem Fenster her (nur zur Laufzeit verfügbar).
Die MDIChild-Eigenschft gibt an, ob es sich um ein MDI-Child-Fenster
handelt (nur zur Entwurfszeit einstellbar).
- Mit den Eigenschaften Enabled(id),
Visible(id), Checked(id),
Caption(id), Help(id)
und TagEx(id) kann zur Laufzeit auf einzelne
Menueinträge zugegriffen werden. Genauere Dokumentation siehe
Visual-Basic-Menüs.
- Die Eigenschaften Tag, Name,
Index, Left und Top verhalten sich wie üblich.
- Verwaltung der Bilder: Background, LogoPicture, Picture(id) (neu in Version 2.0)
- Verwaltung der Icons: ImageList, IconKey(id) (neu in Version 2.0)
- Die StandardSelection-Eigenschaft bestimmt das Aussehen der Menü-Markierung (neu in Version 2.0)
Methoden:
- Die Load-Methode (Parameter:
"filename") läd zur Laufzeit eine Beschreibungsdatei.
- Die LoadSection-Methode (Parameter:
"filename", "section") läd zur Laufzeit
eine Sektion aus einer Beschreibungsdatei.
Eine Sektion beginnt dabei mit "[section]". Dies
ermöglicht es, mehrere Menüs in einer Datei unterzubringen.
- Die LoadString-Methode läd die Beschreibung aus einer Zeichenkette (neu in Version 2.0)
- Die Clear-Methode löscht
eine geladene Beschreibungsdatei. Diese Methode wird durch die
Load- bzw LoadSection-Methode implizit aufgerufen.
- Die PopupMenu-Methode (Parameter: id, Attribute, x, y) ist mit dem VB-Befehl
vergleichbar. Achtung: x und y müssen in Pixel angegeben werden.
Attribute wie beim VB-Befehl.
- Die AboutBox-Methode zeigt das About-Fenster an.
- Die Refresh-Methode aktualisiert das Menü (neu in Version 2.0)
Ereignisse:
- Das Click-Ereignis tritt auf, wenn ein Menüpunkt - per Maus oder Shortcut - ausgewäht wurde (Parameter: id%).
- Das Select-Ereignis tritt auf, wenn ein Menüpunkt mit der Maus berührt wird (Parameter: id%).
- Das Help-Ereignis tritt auf, wenn zu auf einem Menüpunkt F1 gedrückt wird (Parameter: helpid%).
Die Beschreibungsdatei:
Eine Beschreibungsdatei hat folgenden Aufbau ({..}=beliebig oft, [..]=optional, <key>=Taste):
{<Space>}ID [!Flags] Beschreibung[<Tab>Shortcut]
- Die Anzahl der Leerzeichen am Anfang gibt die Hierarchietiefe an. Die maximale Hierarchietiefe beträgt 20.
- Die folgende ID-Nummer legt eine eindeutige Nummer des Menüeintrags fest. Im Programm wird über
diese ID ein bestimmter Menüeintrag angespochen bzw. bei Ereignissen mitgeteilt.
- Als nächster Eintrag können optional einige Flags folgen. Diese werden mit einem "!"-Zeichen
eingeleitet. Folgende Flags stehen zur Auswahl und können kombiniert werden:
e: der Menüeintrag ist standardmäßig nicht aktiviert (enabled=0)
v: der Menüeintrag ist standardmäßig nicht sichtbar (visible=0)
c: der Menüeintrag ist standardmäßig selektiert (checked=1)
d: der Menüeintrag ist der Standardeintrag (fette Schrift)
w: diesem Untermenüpunkt wird die MDI-Fensterliste angehängt
zahl: die diesem Menüeintrag zugeordnete Help-ID
- Als nächster Eintrag kann optional eine Icon-Angabe folgen. Diese wird mit einem "~-Zeichen eingeleitet. Als Icon-Angabe kann entweder dessen Index (beginnend bei 1) oder dessen Key angegeben werden.
- Der nächste Eintrag ist die Beschriftung des Menüpunkts
- Der optional letzte, von der Besschriftung durch ein TAB-Zeichen getrennte Eintrag stellt den Shortcut dar.
Durch ein "+"-Zeichen können folgende Zeichenfolgen kombiniert werden (Groß-/Kleinschreibung irrelevant): Shift,
Umsch, Umschalt, Strg, Ctrl, ALT, Einfg, Entf, Bild auf, Bild ab, Ende, Pos1, Return, Enter, Tab, ESC, Rücktaste, Back,
F1...F12, einzelnes Zeichen
Beispiel:
100 &Datei
101 ~new &Neu
102 !d &Öffnen...
103 !e ~save &Speichern Strg+S
104 Speichern &unter...
150 -
151 &Ende ALT+X
200 &Bearbeiten
211 &UnDo Strg+Z
212 &ReDo Strg+Y
213 -
221 !e &Ausschneiden Strg+Entf
222 !e &Kopieren Strg+Einfg
223 !e Ei&nfügen Shift+Einfg
800 !w &Fenster
| |
|
|