Das Menu ist in FForm dimensioniert und muss nicht extra dimensioniert werden (Menus sind üblicherweise Bestandteil der Hauptform). Anders die Menuitem. Die Menuitem-Definition wird auch mit FForm geladen, es muss aber jedes Item dimensioniert werden. (siehe Beispiel)
Property | Datentyp(Read/Write) | Hinweise |
Handle | HWND (R) | Handle des Menu |
Parent | HWND (R) | Handle des ElternFenster i.d.R. HauptForm |
SUB/Function | Argumente | Hinweis |
Sub Create | (ByVal hParent As HWND) | Handle der Form |
Sub CreateSubMenu | (sName As String ) | Erstellt ein SubMenu. Die Reihenfolge des Aufruf bestimmt die Reihenfolge in der MenuBar |
Sub AddItem | (oItem As FMenuItem Ptr, sText As String) | Zeiger auf das hinzugefügte MenuItem-Object, Item-Text des MenuItem |
Sub Seperator | kein | Setzt ein Seperator an die aktuelle Stelle |
Property | Datentyp(Read/Write) | Hinweise |
EventSub | Any Ptr (R/W) | Zeiger auf Event-Sub |
MItemID | Integer (R) | Gibt das ID des Munu-Item zurück. |
bmpUnCeck | String (W) | Setzt ein Bitmap in Menu-Item. Wird angezeigt wenn Check = FALSE ist. |
bmpCeck | String (W) | Setzt ein Bitmap in Menu-Item. Wird angezeigt wenn Check = TRUE ist. |
Check | Integer (R/W) | True = Setzt eine Haken ; False = löscht den Haken wenn bmpCheck bzw. bmpUnCeck nicht gesetzt sind. |
Enabled | Integer (R/W) | Deaktiviert oder aktiviert das Item |
SUB/Function | Argumente | Hinweis |
Sub addAccel | (ByVal virt As Integer, ByVal vK As UShort , sK As String) |
FCONTROL, FALT, FSHIFT oder NULL
sein ( Anzeige ist Automatisch) Wert des Key als Byte z.B. ASC("X") oder 112 für F1 String der angezeigt wird z.B. "X" oder "F1" |
'Die Item dimensionieren
Dim Shared As FMenuItem mnNeu, mnExit, mnAbout
'Die Menu-EventSub
'--------------------------
sub menu_neu
' Irgend was'
End Sub
Sub menu_About
' About Dialog Rufen'
End Sub
Sub menu_Exit
form1.FormClose
End Sub
'-------------------------
form1.menu.Create(form1.Handle) ' Das Menu
form1.menu.CreateSubMenu("Datei") ' Das 1. SubMenu
mnNeu.EventSub =@menu_neu ' Event-Sub
mnNeu.addAccel(NULL ,113,"F2" ) ' nur F2
form1.menu.AddItem(@mnNeu,"Neu") ' Zeiger auf das Item, Menu Text
mnExit.EventSub =@menu_Exit ' Event-Sub
mnExit.addAccel(FCONTROL,Asc("X"),"X") ' Accel dazu, STRG
form1.menu.AddItem(@mnExit,"Exit") ' Zeiger auf das Item, Menu Text
form1.menu.CreateSubMenu("About") ' Das 2. SubMenu
mnAbout.EventSub =@menu_About
form1.menu.AddItem(@mnAbout,"About")