Benutzer-Werkzeuge

Webseiten-Werkzeuge


k6:k6.11:start

6.11 Completion – FileCompletion

Die Basis-Klasse Completion (gb.form) ermöglicht die automatische Vervollständigung von Texten in Textfeldern wie TextBox, TextArea oder im Gambas-Quelltext-Editor. Einige Steuerelemente wie zum Beispiel eine TableView haben auch die Editor-Eigenschaft, der Completion.Editor zugewiesen werden kann, um Vervollständigungen für Tabellen-Zellen anzubieten.

Achtung: Die Klasse Completion ist nur eine Vorlage: Sie erzeugen aus der Vorlage (Template) eine abgeleitete, spezialisierte Vervollständigungsklasse, indem diese von der Basis-Klasse Completion erbt und ihre (Basis-)Methoden überschreibt.

Diese Klasse können Sie erzeugen. So erzeugen Sie eine neue, spezialisierte Vervollständigungsklasse für das angegebene Steuerelement. Der Parameter 'hEditor' hat den Wert einer speziellen TextBox oder einer speziellen TextArea:

Dim hCompletion As Completion

hCompletion = New Completion ( hEditor As Control ) As "EventName"

Die Klasse FileCompletion ist eine spezialisierte Vervollständigungsklasse. Sie wird Ihnen im Absatz 6.11.4 vorgestellt.

6.11.1 Eigenschaften

Die Klasse Completion verfügt über diese Eigenschaften:

EigenschaftDatentypBeschreibung
DelayIntegerGibt die Verzögerung in Millisekunden zwischen einem Tastendruck und der Anzeige des Vervollständigungs-Popups zurück oder stellt sie ein. Der Standardwert ist 350.
EditorControlDie TextBox oder TextArea sind die Standards für Ergänzungen. Einige Steuerelemente wie zum Beispiel eine TableView haben eine Editor-Eigenschaft, die auch der Eigenschaft Completion.Editor zugewiesen werden kann, um Vervollständigungen auf Tabellenzellen anzubieten.
IconsString[ ]Array der Icon-Namen, die im Popup-Fenster neben den Vervollständigungsvorschlägen in der Eigenschaft List angezeigt werden sollen. Die Namen werden im Picture-Cache nachgeschlagen. Diese Eigenschaft füllen Sie in der Fill-Methode der speziellen Klasse, die von Completion erbt.
ListString[ ]Das Array der Vervollständigungsvorschläge im Popup-Fenster. Diese Eigenschaft füllen Sie in der Fill-Methode der speziellen Klasse, die von Completion erbt.
StartIntegerGibt die Zeichenposition innerhalb des Editors vor, an der die Popup-Liste angezeigt wird. Diese Eigenschaft füllen Sie in der Fill-Methode der speziellen Klasse, die von Completion erbt.

Tabelle 6.11.1.1 : Eigenschaften der Klasse Completion

6.11.2 Methoden

Die Klasse Completion verfügt über diese drei Methoden:

MethodeBeschreibung
Open()Öffnet das Vervollständigungs-Popup-Fenster.
Close()Schließt das Vervollständigungs-Popup-Fenster.
Fill( sText As String, bExplicit As Boolean )Füllt den zu ergänzenden Text. sText ist der zu vervollständigende Ausgangstext. Das Argument bExplicit wird vom Code innerhalb der Completion-Klasse verwendet, um anzuzeigen, dass Fill von der Open-Methode aufgerufen wurde.

Tabelle 6.11.2.1 : Methoden der Klasse Completion

Hinweise:

  • Die Methode Fill(…) muss von allen abgeleiteten Klassen, die von Completion erben, neu implementiert werden.
  • Fill(…) wird immer dann aufgerufen, wenn das Vervollständigung-Popup angezeigt werden muss. Sie erhalten einen Anfangsstring ‘Text‘ und müssen die Eigenschaft Completion.List mit allen Vervollständigungen von Text füllen, die für Ihre spezifische Vervollständigungsklasse gelten. Beispielsweise füllt die spezielle Klasse FileCompletion die Liste mit allen Dateien, deren Pfad jeweils mit 'Text' – hier dem Zeichen / – beginnt.
  • Zusätzlich gibt die Eigenschaft 'Icons' die Bilder an, die vor jedem Vervollständigungsvorschlag im Popup-Fenster angezeigt werden können.
  • Mit der Eigenschaft Completion.Start können Sie die horizontale Position einstellen, wo das
  • Popup-Fenster – relativ zum verwendeten Editor – angezeigt werden soll.

6.11.3 Ereignisse

Die Klasse Completion besitzt nur das Ereignis Activate(). Es wird ausgelöst, wenn ein Vervollständigungsvorschlag aus der Liste im Popup-Fenster ausgewählt wurde.

6.11.4 Klasse FileCompletion

Die abgeleitete Klasse FileCompletion – basierend auf der (Basis-)Klasse Completion – ermöglicht die automatische Vervollständigung von Pfad-Angaben in ausgewählten Textfeldern wie zum Beispiel in einer TextBox:

B1

Abbildung 6.11.4.1: Text-Vervollständigung in einer TextBox

Die Klasse kann erzeugt werden. Der Parameter 'hEditor' hat den Wert einer speziellen TextBox oder einer speziellen TextArea:

Dim hCompletion As FileCompletion
hFileCompletion = New FileCompletion ( hEditor As Control ) As "EventName" 

Der folgende Quelltext erzeugt eine neue automatische Vervollständigung für das angegebene Steuerelement TextBox1:

Private $hFileComplete As FileCompletion
 
Public Sub Form_Open()
  $hFileComplete = New FileCompletion(TextBox1)
End

Wenn Sie in das Textfeld – wie es in der Abbildung 6.11.4.1 zu sehen ist – einen Datei-Pfad eingeben, dann wird der Pfad nach der Eingabe von / oder wenigen Zeichen des passenden Pfades automatisch ergänzt. Gut zu wissen: Die Methode FileCompletion.Fill(…) wird automatisch ausgeführt!

6.11.5 Ergänzungen

Aus der Gambas-IDE kennen Sie bereits weitere Completion-Klassen, die anstelle von Dateien u.a. Eigenschaften oder Methoden oder Namen von Bildern im Quelltext-Editor vervollständigen:

B2

Abbildung 6.11.5.1: Text-Vervollständigung 1 IDE

B3

Abbildung 6.11.5.2: Text-Vervollständigung 2 IDE

Download

Die Website verwendet zwei temporäre Session-Cookies. Diese technisch notwendigen Cookies werden gelöscht, wenn der Web-Browser geschlossen wird! Informationen zu Cookies erhalten Sie in der Datenschutzerklärung.
k6/k6.11/start.txt · Zuletzt geändert: 24.09.2018 (Externe Bearbeitung)

Seiten-Werkzeuge