Programmieren mit dBASE PLUS: Klasse SubForm
Eine abgeleitete Form, die sich wie eine Nicht-MDI-Form verhält. Eine Subform kann das Kind einer Form oder einer andern Subform sein.
Syntax
[Bearbeiten][<oReferenz> =] new SubForm(<Parent-Formularreferenz>[, <Titel AusdruckZ>])
<oReferenz>
Eine Variable oder Eigenschaft, in der eine Referenz auf das neu erstellte SubForm-Objekt gespeichert wird.
<Parent-Formularreferenz>
Eine Variable oder Eigenschaft, die eine Objektreferenz auf das übergeordnete Form- oder Subform-Objekt enthält. Wird gespeichert in der Eigenschaft Parent des Subform-Objektes, auf die nur lesend zugegriffen werden kann.
<Titel AusdruckZ>
Ein optionaler Titel für das SubForm-Objekt. Ohne Angabe dieses Parameters lautet der Titel "SubForm".
spezielle Eigenschaften
[Bearbeiten]Die folgenden Tabellen enthalten die speziellen Eigenschaften und Methoden der Klasse SubForm
Eigenschaft | Vorgabe | Beschreibung |
activeControl | Das aktive Steuerelement. | |
allowDrop | false | Bestimmt, ob es ein Objekt zuläßt, dass gezogenen Objekte darauf abgelegt werden dürfen. |
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 | SUBFORM | Kennzeichnet das Objekt als Instanz der Klasse Subform. |
className | SUBFORM | 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 | Die Hintergrundfarbe. |
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. | |
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. |
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. |
scrollBar | Aus | Gibt an, wann für das Beschriebene-Objekt eine Bildlaufleiste angezeigt wird (0=Aus, 1=Ein, 2=Auto, 3=Deaktiviert). |
scrollHOffset | The current position of the horizontal scrollbar in units matching the form or subform's current metric property | |
scrollVOffset | The current position of the vertical scrollbar in units matching the form or subform's current metric property | |
showSpeedTip | true | Gibt an, ob Tooltips angezeigt werden. |
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 SubFormulars 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
[Bearbeiten]Event | 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 ein neuer Datensatz hinzugefügt wurde. | |
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. | |
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. |
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
[Bearbeiten]Methode | Parameter | Beschreibung |
---|---|---|
abandonRecord( ) | Die im aktuellen Datensatz durchgeführten Änderungen werden verworfen. | |
beginAppend( ) | Das Anfügen eines neuen Datensatzes wird gestartet. | |
close( ) | Das SubForm wird geschlossen. | |
isRecordChanged( ) | Gibt an, ob die im Datensatzpuffer enthaltenen Daten geändert wurden. | |
open( ) | Das SubForm wird geladen und geöffnet. | |
pageCount( ) | Die höchste Seitennummer (Eigenschaft pageno) aller Komponenten wird ausgegeben. | |
print( ) | Das SubForm wird gedruckt. | |
refresh( ) | Original Text:Redraws the subform | |
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
[Bearbeiten]Die folgende Tabelle enthält die Basis-Eigenschaften, -Events und -Methoden der Klasse SubForm
Beschreibung
[Bearbeiten]Durch die Zuordnung des SubForm-Objekts über die Eigenschaft Parent zu einem übergeordneten Form-Objekt oder weiteren Subform-Objekt wird die Anzeige der Subform auf den Bereich des übergeordneten Form-Objektes beschränkt. Wenn das übergeordnete Formular geschlossen wird, wird auch das Subform-Objekt geschlossen.
Ein Form- oder Subform-Objekt, das ein oder mehrere Subforms enthält, überwacht ggf. intern welche Subform aktiv ist. Wenn eine Subform aktiv ist, hat diese Subform den Fokus. Sobald das Formobjekt den Fokus erhält, verliert die aktive Subform den Fokus und wird deaktiviert. Durch Klicken auf eine Subform oder ein darin enthaltenes Objekt wird die Subform aktiviert und die Subform oder das ausgewählte Objekt erhält den Fokus.
Das canClose-Ereignis eines Formulars löst das canClose-Ereignis aller dazugehörigen Subforms aus. Wenn das canClose-Ereignis eines Subform-Objektes false zurückgibt, dann ergibt auch das canClose des Formulars false.
SubForms werden derzeit vom Formulardesigner nicht unterstützt. Es ist jedoch möglich, im Formulardesigner eine Form zu erstellen und anschließend den vom Formdesigner erzeugten Code zu editieren, um ein SubForm-Objekt zu erhalten.