Menüs
Sie können mit Delphi for PHP Menüs für ihre Anwendungen erstellen sowie sogenannte Popup-Menüs für einzelnen Elemente der Anwendung. Anwendungs-Menüs werden in der Titelleiste platziert, Popup-Menüs werden per rechten Mausklick auf das zugehörige Element geöffnet.
Die Menüs werden intern als Array aufgebaut.
Menü erstellen
Um ein Menü zu erstellen gehen Sie folgendermaßen vor:
- Platzieren Sie das Menü-Object (Mainmenu oder PopupMenu) auf ihrem Formular
- Klicken Sie im Object-Inspector auf den Button der Eigenschaft "Items". Ein Dialogfenster zur Eingabe der Menüpunkte erscheint.
- Geben Sie unter "Text" den Namen des Menüpunktes und unter "Tag" einen eindeutigen Zahlenwert für den ersten Menüpunkt ein und klicken Sie auf "New Item" um diesen hinzuzufügen.
- Auf die gleiche Weise können Sie weitere Menüpunkte hinzufügen. Mit "New SubItem" fügen Sie einen neuen Untermenüpunkt hinzu. Mit "Delete" löschen Sie den aktuell ausgewählten Menüpunkt.
- Um ein Trennzeichen (Linie) einzubauen geben Sie einen Bindestrich im Feld "Text" ein.
- Klicken Sie den OK-Button wenn um die Menüstruktur zu erstellen.
Leider ist es mit dem Menü-Editor nicht möglich, Menüpunkte später einfach zu vertauschen oder Menüpunkte an beliebiger Position einzufügen. Für die Umstrukturierung der Menüstruktur muss diese deshalb - zumindestens teilweise - neu aufgebaut werden.
Icons für Menüpunkte hinzufügen
Sie können kleine Bilder (Icons) neben den Menüpunkten anzeigen lassen. Unterstützt werden JPEG-, GIF-, PNG- und BMP-Dateien. Die Bildgröße sollte dem Menüeinträgen entsprechend sein - standardmäßig 16x16 Pixel. Gehes Sie folgendermassen vor:
- Laden Sie die Bilder in Ihr Projektverzeichnis. Um die Übersicht zu behalten sollten Sie die Bilder in einem Unterordner ("Images") kopieren.
- Platzieren Sie eine ImageList-Komponente auf Ihr Formular. Diese befindet sich in de Rubrik "Advanced" der Toolpalette.
- Klicken Sie im Object-Inspector auf den Button der Eigenschaft "Images" der ImageList-Komponente. Es öffnet sich ein Dialog-Editor.
- Vergeben sie für jedes Bild eine eindeutige Nummer im Feld "Key/ID" und einen Bildnamen im Feld "Filename". Sie können mit "Load" auch das Bild auswählen. Auf der rechten Seite wird das aktuelle Bild - soweit vorhanden -angezeigt.
- Mit "Add" fügen Sie neue Einträge in die Liste ein, mit Delete löschen Sie den aktuell ausgewählten Eintrag.
- Klicken Sie auf "OK" um die Liste zu erstellen.
- Klicken Sie im Object-Inspector auf den Button der Eigenschaft "Items" um die Einträge der ImageList den jeweiligen Menüpunkten zuzuordnen.
- Geben Sie für jeden Menüpunkt der ein Bild enthalten soll unter "Image Index" die ID aus der ImageList ein.
- Klicken Sie auf "OK" um die Änderungen zu übernehmen.
Ereignis-Behandlungsroutinen (event-handler) erstellen
Um eine Ereignis-Behandlungsroutine - kurz event-handler - zu erstellen sind folgende Schritte notwendig:
- Markieren Sie das Menü-Objekt und wählen im Objektinspektor im Register "Events" das zugehörige Ereignis aus. Sie können auch im Register "Javascript" eine clientseitige Behandlungs-Routine erstellen.
- Führen Sie einen Doppelklick rechts neben den Ereignis-Namen aus um einen neuen event-handler zu erstellen. Daraufhin wird das Grundgerüst automatisch erstellt und der Cursor im Quelltext platziert.
- Schreiben Sie den Quelltext zur Auswertung des Ereignisses.
Beispiel1: Verschiedene Websites aufrufen durch clientseitige Menüsteuerung (javascript)
- Erstellen Sie ein Menüobjekt mit dem Menüpunkt "Suchmaschinen" und 3 Untermenüpunkten mit den Text-Werten "Google", "Metager" und "Yahoo" sowie den Tag-Werten 10, 20, 30 (s.o.).
- Markieren Sie das Menü-Objekt
- Führen Sie einen Doppelklick im Register "Javascript" auf das "OnClick"-Ereignis durch. Dadurch wird automatisch das Grundgerüst für den event-handler erstellt:
function MainMenu1JSClick($sender, $params)
{
?>
//Add your javascript code here
<?php
}
- Fügen Sie den blau markierten Quelltext an der Position des Kommentars ein - leider wird der Cursor nicht immer an die richtige Stelle positioniert::
function MainMenu1JSClick($sender, $params)
{
?>
tag=event.getTarget().tag;
if (tag==10) { location.href = 'http://www.google.de'; }
if (tag==20) { location.href = 'http://www.metager.de'; }
if (tag==30) { location.href = 'http://www.yahoo.de'; }
<?php
}
- Speichern Sie das Projekt und starten Sie die Anwendung. Es erscheint das entsprechende Menü mit den 3 Einträgen. Bei der entsprechenden Auswahl wird die gewählte Suchmaschine geöffnet.
Beispiel2: Verschiedene Websites aufrufen durch serverseitige Menüsteuerung (PHP)
- Erstellen Sie ein Menüobjekt mit dem Menüpunkt "Suchmaschinen" und 3 Untermenüpunkten mit den Text-Werten "Google", "Metager" und "Yahoo" sowie den Tag-Werten 10, 20, 30 (s.o.).
- Markieren Sie das Menü-Objekt
- Führen Sie einen Doppelklick im Register "events" auf das "OnClick"-Ereignis durch. Dadurch wird automatisch das Grundgerüst für den event-handler erstellt:
function MainMenu1Click($sender, $params)
{
}
- Fügen Sie den blau markierten Quelltext ein:
function MainMenu1Click($sender, $params)
{
if ($params['tag']==10) { header("Location: http://www.google.de"); }
if ($params['tag']==20) { header("Location: http://www.metager.de"); }
if ($params['tag']==30) { header("Location: http://www.yahoo.de"); }
}
- Speichern Sie das Projekt und starten Sie die Anwendung. Es erscheint das entsprechende Menü mit den 3 Einträgen. Bei der entsprechenden Auswahl wird die gewählte Suchmaschine geöffnet.
|
|