User Tools

Site Tools


k13:k13.7:k13.7.1:start

13.7.1 Insert MenuButton

If you want to use one or more MenuButtons in a project on a form, the following notes must be observed:

First you should place the MenuButton in a container. A ToolBar is well suited for a (horizontal) toolbar:

Symbolleiste mit MenuButton

Figure 13.7.1.1: Two MenuButtons in one toolbar

Then the individual menus are to be designed and most safely declared with the MenuEditor in the desired structure:

MenüEditor

Figure 13.7.1.2: Menu editor with the individual menus

Make sure to set the .Visible property for the menus in the top level of the hierarchy (image file and help) to False so that they do not appear on the form. For each menu in the menu list - except for the menu mnuSpace - the property .Caption must be set to a string that is not empty; even if this character string is not displayed, otherwise a hyphen will be generated! You can assign a suitable icon to each menu.

Afterwards, the actions that are triggered when a certain menu is activated by a click must be described in the source code. Here is a corresponding extract from a source text:

Public Sub mnu11Open_Click()
  OpenImage()
  mnu13Print.Enabled = True
End '  mnu11Open_Click()
 
Public Sub mnu13Print_Click()
  PrintImage()
  mnu13Print.Enabled = False
End ' mnu13Print_Click()

Finally, the mentioned actions OpenImage() and PrintImage() have to be coded, which basically determine the functionality of the program:

' Eigene Programm-Aktionen 
 
Public Sub OpenImage()
 
  Dialog.Title = "Import an image file!"
  Dialog.Filter = ["*.png", "Image files"]
 
  If Dialog.OpenFile(False) = True Then
     Message.Info("The opening of the image file was cancelled!")
     Return ' Cancel-Button pressed
  ...
  Endif ' Dialog.OpenFile
 
End ' OpenImage()
 
Public Sub PrintImage()
  Message.Info("The image is printed (print routine is called up)!")
End ' PrintImage()

13.7.1 Einsatz MenuButton

Wenn Sie einen oder mehrere MenuButton in einem Projekt auf einem Formular einsetzen wollen, sind folgende Hinweise zu beachten:

Zuerst sollten Sie die MenuButton in einem Container platzieren. Gut geeignet ist eine ToolBar für eine (horizontale) Symbolleiste:

Symbolleiste mit MenuButton

Abbildung 13.7.1.1: Zwei MenuButton in einer Symbolleiste

Dann sind die einzelnen Menüs zu entwerfen und am sichersten mit dem MenüEditor in der gewünschten Struktur zu deklarieren:

MenüEditor

Abbildung 13.7.1.2: Menü-Editor mit den einzelnen Menüs

Achten Sie darauf, die Eigenschaft .Visible für die Menüs in der obersten Hierarchie-Ebene (Bild-Datei und Hilfe) auf False zu setzen, damit diese nicht auf dem Formular erscheinen. Für jedes Menü in der Menüliste – außer beim Menü mnuSpace – ist die Eigenschaft .Caption auf einen nicht leeren String zu setzen; auch wenn diese Zeichenkette nicht angezeigt wird, weil sonst ein Trennstrich erzeugt wird! Jedem Menü können Sie ein passendes Icon zuweisen.

Danach sind im Quelltext die Aktionen zu beschreiben, die ausgelöst werden, wenn ein bestimmtes Menü durch einen Klick aktiviert wird. Hier ein entsprechender Ausschnitt aus einem Quelltext:

Public Sub mnu11Open_Click()
  OpenImage()
  mnu13Print.Enabled = True
End '  mnu11Open_Click()
 
Public Sub mnu13Print_Click()
  PrintImage()
  mnu13Print.Enabled = False
End ' mnu13Print_Click()

Abschließend sind u.a. die erwähnten Aktionen OpenImage() und PrintImage() zu codieren, welche im Wesentlichen die Funktionalität des Programms bestimmen:

' Eigene Programm-Aktionen 
 
Public Sub OpenImage()
 
  Dialog.Title = "Importieren Sie eine Bild-Datei!"
  Dialog.Filter = ["*.png", "Bild-Dateien"]
 
  If Dialog.OpenFile(False) = True Then
     Message.Info("Das Öffnen der Bild-Datei wurde abgebrochen!")
     Return ' Cancel-Button gedrückt
  ...
  Endif ' Dialog.OpenFile
 
End ' OpenImage()
 
Public Sub PrintImage()
  Message.Info("Das Bild wird gedruckt (Druck-Routine wird aufgerufen)!")
End ' PrintImage()
The website uses a temporary session cookie. This technically necessary cookie is deleted when the browser is closed. You can find information on cookies in our privacy policy.
k13/k13.7/k13.7.1/start.txt · Last modified: 02.07.2018 (external edit)

Page Tools