Menu

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

FMenuItem

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"
Beispiel :
    '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")