Diese Komponente ermöglicht es Ihnen auf schnelle Art, einen Font aus den im System installierten Fonts auszuwählen und dem Font einer Text verarbeitenden oder Text anzeigenden Komponente zuzuweisen.
Die Komponente FontChooser werden Sie fast immer in einem eigenem Formular modal aufrufen. Die Standardeinstellungen können Sie in einzelnen Eigenschaften überschreiben, was aber nicht notwendig scheint. Der Standardwert ist für alle drei Eigenschaften True und sichert Ihnen eine optimale Anzeige relevanter Informationen zu den Fonts in der Komponente FontChooser:
Eine Ausnahme bildet die Eigenschaft FontChooser.FixedOnly. Sie gibt an, ob nur Schriftarten mit fester Schriftweite (fixed font) in der Auswahl angezeigt werden. Diese Eigenschaft sollten Sie frei wählbar gestalten. Am interessantesten dürfte aber die Verarbeitung des Rückgabewerts der Komponente FontChooser sein. Mit der folgenden Zuweisung wird der ausgewählte Font an die Font-Eigenschaft eine Komponente übergeben:
Komponente.Font = Font[FontChooser.SelectedFont]
Das vorgestellte Projekt setzt die o.a. Theorieelemente um. Es besteht aus dem Start-Formular, dem 2. Formular mit der Komponente FontChooser und einem Modul. Da der Quelltext recht kompakt ist, werden beide Quelltexte angegeben.
Abbildung 23.2.3.2.1: Startformular
Quelltext1:
' Gambas class file Private sTextAreaFont As String Public Sub Form_Open() FMain.Center FMain.Resizable = False MG.bShowLabel = True MG.bShowPreView = True MG.bShowStyle = True cboxFixedFont.Value = False ' Original-Font sichern sTextAreaFont = TextArea1.Font.ToString() End ' Open Public Sub btnDisplayFC_Click() If cboxFixedFont.Value = True Then MG.bFixedOnly = True ' Standardwert wird überschrieben Endif ' cboxFixedFont.Value = True FormFC.ShowModal If MG.SelectedFont <> Null Then TextArea1.Font = Font[MG.SelectedFont] Endif ' MG.SelectedFont <> Null? End ' DisplayFC Public Sub btnReset_Click() TextArea1.Font = Font[sTextAreaFont] cboxFixedFont.Value = False End ' Reset Public Sub btnClose_Click() FMain.Close End ' Close
Ein Modul wurde eingefügt, um die relevanten Variablen an einer Stelle zu pflegen:
' Gambas module file Public bShowLabel As Boolean Public bShowPreView As Boolean Public bShowStyle As Boolean Public bFixedOnly As Boolean Public SelectedFont As String
Formular 2
Abbildung 23.2.3.2.2: Font-Auswahl (Schrift-Familie, Schrift-Stil und Schrift-Größe)
Quelltext3:
' Gambas class file Public Sub Form_Open() FormFC.Resizable = False FontChooser1.ShowLabel = MG.bShowLabel FontChooser1.ShowPreview = MG.bShowPreView FontChooser1.ShowStyle = MG.bShowStyle FontChooser1.FixedOnly = MG.bFixedOnly End ' Form_Open Public Sub btnCancel_Click() MG.SelectedFont = Null FormFC.Close End ' Cancel Public Sub btnSetFont_Click() MG.SelectedFont = FontChooser1.SelectedFont ' Alternative: FontChooser1.Value FormFC.Close End ' SetFont
Da nur Schriftarten mit fester Weite ausgewählt werden können, werden auch nur diese Schriftarten in der Font-Auswahl-Komponente angezeigt. Mit den gewählten Eigenschaften sieht das Schriftbild jetzt so aus:
Abbildung 23.2.3.2.3: TextArea mit den ausgewählten Eigenschaften der Schrift
Mit einem eleganten Klick auf den Button mit der Beschriftung R können Sie den gesicherten Original-Font der TextArea wieder dem Font der TextArea zuweisen und die Checkbox auf den Startwert zur Anzeige aller Schriftarten zurücksetzen.