Programmieren mit dBASE PLUS: Klasse Form
Ein Formularobjekt.
Syntax
Bearbeiten[<oReferenz> =] new Form([<Titel AusdruckZ>])
<oReferenz>
Eine Variable oder Eigenschaft, in der eine Referenz auf das neu erstellte Form-Objekt gespeichert wird.
<Titel AusdruckZ>
Ein optionaler Titel für das Form-Objekt. Ohne Angabe dieses Parameters lautet der Titel "Form".
spezielle Eigenschaften
BearbeitenDie folgenden Tabellen enthalten die speziellen Eigenschaften und Methoden der Klasse Form
Eigenschaft | Vorgabe | Beschreibung |
activeControl | Das aktive Steuerelement. | |
allowDrop | false | Bestimmt, ob es ein Objekt zuläßt, dass gezogenen Objekte darauf abgelegt werden dürfen. |
appSpeedBar | 2 | Legt fest, ob die Standard-Schalterleiste angezeigt wird wenn eine Form den Fokus erhält. 0=Verstecken, 1=Anzeigen, 2=Aktuelle Einstellung der Eigenschaft speedBar des _app-Objekts verwenden. |
autoCenter | false | Gibt an, ob das Formular beim Öffnen automatisch auf dem Bildschirm zentriert wird. |
autoSize | false | Gibt an, ob das Formular automatisch seine Größe so anpaßt, daß alle darin enthaltenen Komponenten angezeigt werden können. |
background | Hintergrundbild. | |
baseClassName | FORM | Kennzeichnet das Objekt als Instanz der Klasse Form. |
className | FORM | Kennzeichnet das Objekt als Instanz der abgeleiteten benutzerdefinierten Klasse. Wenn keine benutzerdefinierte Klasse existiert, gilt die Voreinstellung von baseClassName. |
clientEdge | false | Gibt an, ob der Rand des Formulars den Client-Bereich vertieft darstellt. |
colorNormal | BtnFace | Hintergrundfarbe. |
designView | Eine Ansicht, die beim Entwurf des Formulars verwendet wird. | |
elements | Ein Array mit Objektreferenzen auf die im Formular enthaltenen Komponenten. | |
escExit | true | Gibt an, ob das Formular durch Drücken von Esc geschlossen wird. |
first | Die erste Komponente des Formulars in der Z-Reihenfolge. | |
hWndClient | Das Fenster-Handle für den Client-Bereich des Formulars. | |
hWndParent | 0 | When used in conjunction with the showTaskBarButton property; determines, or specifies, the hWnd property for the parent window of a form. |
icon | Eine Symboldatei oder Ressource, die bei der Verkleinerung des Formulars zum Symbol angezeigt wird. | |
inDesign | Gibt an, ob das Formular mit dem Formular-Designer instantiiert wurde. | |
maximize | true | Gibt an, ob das Formular zum Vollbild vergrößert werden kann, wenn es sich nicht um ein MDI-Formular handelt. |
mdi | true | Gibt an, ob es sich um ein MDI- oder SDI-Formular handelt. |
menuFile | Der Name der .MNU-Menüdatei des Formulars. | |
metric | Zeichen | Maßeinheiten (0=Zeichen, 1=Twip, 2=Punkt, 3=Zoll, 4=Zentimeter, 5=Millimeter, 6=Pixel). |
minimize | true | Gibt an, ob das Formular zum Symbol verkleinert werden kann, wenn es sich nicht um ein MDI-Formular handelt. |
moveable | true | Gibt an, ob das Formular verschoben werden kann, wenn es sich nicht um ein MDI-Formular handelt. |
nextObj | Das Objekt, an das gerade der Fokus übergeben wird. | |
persistent | false | Determines whether custom control, datamodule, menu or procedure files associated with a subform are loaded in the persistent mode. |
popupMenu | Das Popup-Menüobjekt des Formulars. | |
refreshAlways | true | Gibt an, ob das Formular nach der Durchführung von Bewegungen und Aktualisierungen auf dem Bildschirm neu aufgebaut werden soll. |
rowset | null | Das Ergebnis der Abfrage. |
scaleFontBold | true | Gibt an, ob die Grundschrift für die Maßeinheit Zeichen fett ist. |
scaleFontName | MS Sans Serif | Die Grundschrift für die Maßeinheit Zeichen. |
scaleFontSize | 10 | Die Schriftgröße in Punkt der Grundschrift für die Maßeinheit Zeichen. |
scrollBar | Aus | Gibt an, wann für das Beschriebene-Objekt eine Bildlaufleiste angezeigt wird (0=Aus, 1=Ein, 2=Auto, 3=Deaktiviert). |
showSpeedTip | true | Gibt an, ob Tooltips angezeigt werden. |
showTaskBarButton | true | Whether to display a button for the form on the Windows Taskbar. |
sizeable | true | Gibt an, ob die Größe des Formulars geändert werden kann, wenn es sich nicht um ein MDI-Formular handelt. |
smallTitle | false | Gibt an, ob für das Formular eine kleinere Titelleiste verwendet wird, wenn es sich nicht um ein MDI-Formular handelt. |
sysMenue | true | Gibt an, ob das Systemmenü- und das Schließsymbol des Formulars angezeigt werden, wenn es sich nicht um ein MDI-Formular handelt. |
text | Der Text, der in der Titelleiste des Formulars eingeblendet wird. | |
topMost | false | Gibt an, ob das Formular immer im Vordergrund angezeigt wird, wenn es sich nicht um ein MDI-Formular handelt. |
useTablePopup | false | Gibt an, ob das Standard-Popup-Menü zum Navigieren in Tabellen verwendet werden soll, wenn bei der Eigenschaft popupMenu nichts angegeben wird. |
view | Die Abfrage oder Tabelle, auf der das Formular beruht. | |
windowState | Normal | Der Status des Fensters (0=Normal, 1=Symbol, 2=Vollbild). |
spezielle Events
BearbeitenEvent | Parameter | Beschreibung |
canClose | Wird beim Versuch ausgelöst, das Formular zu schließen. Der Rückgabewert legt fest, ob das Formular geschlossen werden kann. | |
canNavigate | <Arbeitsbereich AusdruckN> | Wird beim Versuch ausgelöst, Bewegungen im Arbeitsbereich durchzuführen. Der Rückgabewert bestimmt, ob der aktuelle Datensatz verlassen werden kann. |
onAppend | Wird ausgelöst, nachdem die Funktion beginAppend( ) erfolgreich war. | |
onDragEnter | <left expN> <top expN> <type expC> <name expC> |
Wenn die Maus im Anzeigefeld eines aktiven Drop Targets erscheint |
onDragLeave | Wird ausgelöst, wenn die Maus ein aktives “Drop-Ziel” und den Bereich der Objektanzeige verlässt ohne das etwas reingezogen würde. | |
onDragOver | <left expN> <top expN> <type expC> <name expC> |
Wird ausgelöst, während die Maus sich über dem Anzeigefeld eines aktiven Drop Target Objekts befindet. |
onDrop | <left expN> <top expN> <type expC> <name expC> |
Wenn der Mausknopf während einer Drag&Copy Operation über einem aktiven Drop Target Objekt losgelassen wird. |
onChange | <Arbeitsbereich AusdruckN> | Wird ausgelöst, nachdem ein geänderter Datensatz verlassen wurde, aber bevor das Event onNavigate eintritt. |
onClose | Wird nach dem Schließen des Formulars ausgelöst. | |
onMove | Wird nach dem Verschieben des Formulars ausgelöst. | |
onNavigate | <Arbeitsbereich AusdruckN> | Wird nach Bewegungen in einem Arbeitsbereich ausgelöst. |
onSelection | <Steuerelement-ID AusdruckN> | Wird nach der Übergabe des Formulars ausgelöst. |
onSize | <AusdruckN> | Wird ausgelöst, nachdem die Größe des Formulars oder windowState geändert wurde. |
spezielle Funktionen/Methoden
BearbeitenMethode | Parameter | Beschreibung |
---|---|---|
abandonRecord( ) | Die im aktuellen Datensatz durchgeführten Änderungen werden verworfen. | |
beginAppend( ) | Das Anfügen eines neuen Datensatzes wird gestartet. | |
close( ) | Das {{{Objekt}}} wird geschlossen. | |
isRecordChanged( ) | Gibt an, ob die im Datensatzpuffer enthaltenen Daten geändert wurden. | |
open( ) | Das {{{Objekt}}} wird geladen und geöffnet. | |
pageCount( ) | Die höchste Seitennummer (Eigenschaft pageno) aller Komponenten wird ausgegeben. | |
print( ) | Das {{{Objekt}}} wird gedruckt. | |
readModal( ) | Das Formular wird als modales Formular geöffnet. | |
refresh( ) | Das Formular wird auf dem Bildschirm neu aufgebaut. | |
saveRecord( ) | Die Änderungen im aktuellen oder neuen Datensatz werden gespeichert. | |
scroll( ) | <horizontal expN>, <vertical expN> | Programatically scrolls the client area (the contents) of a subform |
showFormatBar( ) | <AusdruckL> | Die Formatierungsleiste wird ein- oder ausgeblendet. |
Basis Eigenschaften
BearbeitenDie folgende Tabelle enthält die Basis-Eigenschaften, -Events und -Methoden der Klasse Form
Beschreibung
BearbeitenEin Form-Objekt ist ein Container für andere visuelle Komponenten (auch als Steuerelemente bezeichnet) und die mit ihnen verbundenen Datenzugriffsobjekte. Daher werden bei der Freigabe eines Form-Objekts im Speicher auch alle in ihm enthaltenen Objekte freigegeben. Im Array elements des Form-Objekts wird eine Objektreferenz auf alle visuellen Komponenten des Formulars gespeichert. Alle visuellen Komponenten besitzen die Eigenschaft form, die auf das Formular zeigt.
Das Formular verfügt über die Eigenschaft rowset, die sich auf einen primären Datensatzbereich bezieht. Die Komponenten können in ihren Event-Handlern mit der Objektreferenz form.rowset grundsätzlich auf diesen Datensatzbereich zugreifen. Beispielsweise könnte ein Schalter im Formular, der zum ersten Datensatz in einem Datensatzbereich wechselt, den folgenden Event-Handler für onClick haben:
- function firstButton_onClick( )
- form.rowset.first( )
Wenn das Formular mehrere Datensatzbereiche aufweist, kann über die Eigenschaft rowset der Query-Objekte auf jeden einzelnen dieser Bereiche zugegriffen werden (bei diesen Objekten handelt es sich um Eigenschaften des Formulars). Um beispielsweise zum letzten Datensatz im Datensatzbereich des Query-Objekts members1 zu gelangen, würde der onClick- Event-Handler in etwa folgendermaßen aussehen::
- function lastMemberButton_onClick( )
- form.members1.rowset.last( )
Ein Formular kann über mehrere Seiten verfügen. Mehrseitige Formulare können u.a. mit Hilfe der Eigenschaft pageno der Steuerelemente und eines TabBox-Steuerelements erstellt werden. Die Eigenschaft pageno legt fest, auf welcher Seite die jeweiligen Steuerelemente angezeigt werden sollen, während das TabBox-Steuerelement dem Benutzer ermöglicht, zwischen den Seiten hin- und herzuwechseln. Mit Hilfe eines NoteBook-Steuerelements können Sie außerdem einen mehrseitigen Container in einem Formular anlegen.
Es gibt zwei Arten von Formularen: modale und nicht-modale. Ein modales Formular unterbricht die Ausführung der Routine, mit deren Hilfe es geöffnet wurde, bis das Formular geschlossen wird. Ein aktives modales Formular hat vollständige Kontrolle über die Benutzeroberfläche. Der Benutzer kann erst dann zu einem anderen Fenster in derselben Anwendung wechseln, wenn er das Formular geschlossen hat. Ein Beispiel für modale Formulare sind Dialogfelder, die im geöffneten Zustand die Ausführung des Programms unterbrechen. Der Fokus kann in dieser Situation erst dann an ein anderes Fenster übergeben werden, wenn der Benutzer das Dialogfeld schließt.
Im Gegensatz dazu ermöglichen nicht-modale Formularfenster den uneingeschränkten Wechsel zu anderen Fenstern der Anwendung. Bei den meisten Formularen, die Sie für eine Anwendung erstellen, handelt es sich um nicht-modale Formulare. Ein nicht-modales Formularfenster entspricht der MDI-Schnittstelle (Multiple Document Interface), die das Öffnen mehrerer Dokumentfenster in einem Anwendungsfenster ermöglicht.
Um ein nicht-modales Formular zu erstellen und zu verwenden, setzen Sie die Eigenschaft mdi auf True und öffnen das Formular mit der Methode open( ). Wenn Sie ein modales Formular erstellen und verwenden wollen, belegen Sie die Eigenschaft mdi mit False und öffnen das Formular mit der Methode readModal( ).
Sie können auch SDI-Fenster (SDI = Single Document Interface) erstellen, die wie Anwendungsfenster aussehen. Zu diesem Zweck setzen Sie die Eigenschaft mdi auf False und verwenden SHELL(false). Dieser Befehl blendet die Standardumgebung von dBASE Plus aus und übergibt dem Formular die Kontrolle über die Benutzeroberfläche. Das dBASE Plus -Anwendungsfenster wird ausgeblendet, und der Formularname wird in der Task-Liste von Windows aufgeführt.