twinBASIC: Fenster öffnen, schließen und mehr

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

Form-Objekte waren in VB6 und sind in twinBASIC das Element der Wahl, wenn es um die Abbildung von Benutzeroberflächen geht. In diesem Artikel zeigen wir die grundlegenden Techniken rund um die Verwendung und Programmierung von Forms. Dabei zeigen wir, wie Du ein Form-Element öffnest, es wieder schließt und welche Öffnungsmodi es gibt. Dabei beschreiben wir auch, wie Du die Position eines Formulars nach dem Öffnen festlegen kannst. Außerdem schauen wir uns schon einige der grundlegenden Ereigniseigenschaften von Forms an und zeigen, wie wir diese in Form von Ereignisprozeduren implementieren können.

Fenster oder Form?

In den folgenden Abschnitten werden wir synonym von Fenstern und Forms sprechen. Allgemein ist zwar nicht jedes Fenster ein Form-Objekt, aber im Kontext des vorliegenden Artikels schon.

Forms öffnen

Wenn wir mit einer neuen twinBASIC-Anwendung starten, haben wir zwei Möglichkeiten, das erste Fenster zu öffnen:

  • Durch Angabe des Fensters für die Eigenschaft Project: Startup Object oder
  • durch Aufrufen der Prozedur Main, der wir den Code zum Öffnen eines Fensters zuweisen.

Form als Startfenster öffnen

Wir schauen uns zuerst die erste Möglichkeit an, wo wir ein Fenster als Startfenster festlegen. Damit wir in unserem neuen Projekt namens Forms_OpenCloseAndCo nicht die ganze Zeit mit einem Startform namens Form1 arbeiten müssen, löschen wir dieses und fügen über den Kontextmenü-Eintrag Add|Add Form ein neues Form-Element hinzu, das wir gleich nach dem Anlegen frmMain nennen.

Achtung: Nur wenn wir dies erledigen, solange der Bearbeitungsmodus des neuen Form-Elements im Projektexplorer aktiviert ist, werden alle Elemente des Form-Objekts umbenannt – also auch die Eigenschaft Name des Form-Elements, der Name der Code behind-Klassendatei und auch der Name der Klasse selbst. Hast Du diesen Zeitpunkt verpasst, kein Problem – lösche das Element einfach wieder und lege es erneut an.

Haben wir dies erledigt, brauchen wir nur noch die Optionen des Projekts aufzurufen und hier den Eintrag frmMain auszuwählen (siehe Bild 1).

Einstellen der Startform frmMain

Bild 1: Einstellen der Startform frmMain

Starten wir das Projekt nun, wird die Form frmMain angezeigt.

Startform über die Prozedur Main öffnen

Die zweite Möglichkeit ist das Öffnen des Fensters per Code. Wenn wir das Startformular frmMain per Code öffnen wollen, statt über die Eigenschaft, entfernen wir es zunächst aus der Eigenschaft Project: Startup Object und wählen dort den Wert Sub Main aus (siehe Bild 3).

Einstellen der Startprozedur Main

Bild 2: Einstellen der Startprozedur Main

Diese Prozedur müssen wir nun auch noch anlegen. Dazu fügen wir dem Projekt mit dem Kontextmenübefehl Add|Add Module .TWIN supporting Unicode ein neues Modul hinzu (siehe Bild 2). Das neue Modul benennen wir in mdlMain um.

Hinzufügen eines Moduls zum Projekt

Bild 3: Hinzufügen eines Moduls zum Projekt

Dieses öffnen wir nun und fügen die folgende Prozedur hinzu:

Sub Main()
     frmMain.Show
End Sub

Die einzige Anweisung der Prozedur besteht aus dem Objekt frmMain und der Methode Show. Jede Code behind-Klasse eines Form-Elements stellt die Eigenschaften und Methoden der Form-Klasse zur Verfügung, so zum Beispiel Show.

Um die Eigenschaften und Methoden dieser Klasse zu nutzen, müssen wir den Klassennamen angeben, der im Klassenmodul hinter dem Schlüsselwort Class angegeben ist. Sollte bei Dir die Klasse also einmal anders benannt sein als die Klassendatei (diese beiden sind nicht zu verwechseln), verwende den Klassennamen.

Das Codefenster sieht nun wie in Bild 4 aus. Starten wir die Anwendung nun erneut, erscheint das Fenster frmMain genauso, als wenn wir es als Startobjekt festgelegt hätten.

Anlegen der Startprozedur Main

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

Testzugang

eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar