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( )   Orginal 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
Eigenschaft Event Methode

enabled
height
helpFile
helpId
hWnd
left
mousePointer
pageno
parent
statusMessage
top
width

onDesignOpen
onGotFocus
onHelp
onLeftDblClick
onLeftMouseDown
onLeftMouseUp
onLostFocus
onMiddleDblClick
onMiddleMouseDown
onMiddleMouseUp
onMouseMove
onMouseOut
onMouseOver
onOpen
onRightDblClick
onRightMouseDown
onRightMouseUp

move( )
release( )
setFocus( )

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.