Die Community zu .NET und Classic VB.
Menü

VB 5/6-Tipp 0289: Demonstration der Methoden und Ereignisse einer TextBox

 von 

Beschreibung 

Dieses Beispiel erklärtt den grundsätzlichen Umgang mit der TextBox, wie z.B. das Änderen von Schrift- und Hintergrundfarbe, das Abspeichern und wieder Laden des Inhaltes und Einfügen aus der Zwischenablage.Zudem wird gezeigt wie durch den Trick des Überblendens eine TextBox zur Laufzeit scheinbar ihre MultiLine-Eigenschaft ändert.

Schwierigkeitsgrad:

Schwierigkeitsgrad 1

Verwendete API-Aufrufe:

keine

Download:

Download des Beispielprojektes [4,1 KB]

'Dieser Quellcode stammt von http://www.activevb.de
'und kann frei verwendet werden. Für eventuelle Schäden
'wird nicht gehaftet.

'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum.
'Ansonsten viel Spaß und Erfolg mit diesem Source!

'------------- Anfang Projektdatei Project1.vbp -------------
' Die Komponente 'Microsoft Common Dialog Control 6.0 (SP3) (COMDLG32.OCX)' wird benötigt.

'--------- Anfang Formular "Form1" alias Form1.frm  ---------
' Steuerelement: Rahmensteuerelement "frmClipboard"
' Steuerelement: Schaltfläche "cmdClipboard" auf frmClipboard
' Steuerelement: Schaltfläche "cmdPaste" auf frmClipboard
' Steuerelement: Schaltfläche "cmdClear"
' Steuerelement: Schaltfläche "cmdSave"
' Steuerelement: Schaltfläche "cmdopen"
' Steuerelement: Schaltfläche "cmdFGFarbe"
' Steuerelement: Schaltfläche "cmdFarbe"
' Steuerelement: Standarddialog-Steuerelement "mscdlg"
' Steuerelement: Textfeld "txtTextMZ"
' Steuerelement: Rahmensteuerelement "frmZeile"
' Steuerelement: Optionsfeld-Steuerelement "optMehrZeilig" auf frmZeile
' Steuerelement: Optionsfeld-Steuerelement "optEinZeilig" auf frmZeile
' Steuerelement: Textfeld "txtTextEZ"


'Autor: Daniel Flandorfer
'E-Mail: Daniel.Flandorfer@winterthur.at
'Inet:  Daniel http://www.albundy.net

'Globale Variable für das Clipboard
Private strClipboard As String

Private Sub Form_Load()
  'Initialisierung...
  txtTextEZ.Visible = False
  optMehrZeilig.Value = True
End Sub

Private Sub cmdClear_Click()
  'Löscht beide Textfelder, indem man nichts reinschreibt
  txtTextMZ.Text = ""
  txtTextEZ.Text = ""
End Sub

Private Sub cmdClipboard_Click()
  'Stellt den Selectierten (kommt von Textbox.mouseup)
  'Text ins Clipboard
  Clipboard.SetText strClipboard
End Sub

Private Sub CmdFarbe_Click()
  'Öffnet den Standarddialog für Farbauswahl
  mscdlg.ShowColor
  
  'Setzt die Hintergrundfarbe für beide Textboxen
  txtTextMZ.BackColor = mscdlg.Color
  txtTextEZ.BackColor = mscdlg.Color
End Sub

Private Sub cmdFGFarbe_Click()
  'Öffnet den Standarddialog für Farbauswahl
  mscdlg.ShowColor
  
  'Setzt die Textfarbe gleich für beide Textboxen
  txtTextMZ.ForeColor = mscdlg.Color
  txtTextEZ.ForeColor = mscdlg.Color
End Sub

Private Sub cmdOpen_Click()
    'Öffnet den Standarddialog ÖFFNEN und liest das selektierte
    'File aus
    Dim InputData As String
    Dim All As String
    
    'Setzt den Filter für den Öffnen Dialog
    mscdlg.Filter = "Textdateien | *.txt"
    
    'Zeigt den Öffnendialog an
    mscdlg.ShowOpen
    
    'Falls nichts ausgewählt wurde überspringe das ganze...
    If mscdlg.FileName <> "" Then
    
        'Öffne gewähltes File zum Lesen
        Open mscdlg.FileName For Input As #1
              
        'Solange wir nicht am Ende des Files sind, lesen wir
        'Zeile für Zeile aus und hängen sie einer Variable an!
        Do While Not EOF(1)
            Line Input #1, InputData
            All = All & InputData
        Loop
        
        'Datei schließen
        Close #1
        
        'Schreibt den Text in die aktive Textbox
        If optMehrZeilig.Value = True Then
            txtTextMZ.Text = All
        Else
            txtTextEZ.Text = All
        End If
    End If
End Sub

Private Sub cmdPaste_Click()
    'Holt sich Text aus der Zwischenablage und fügt ihn ein
    
    'Falls etwas da ist ...
    If Clipboard.GetText <> "" Then
        '... schreiben wir es in beide Textboxen
        txtTextMZ.Text = Clipboard.GetText
        txtTextEZ.Text = Clipboard.GetText
    Else
        'Sonst Meldung
        MsgBox ("Kein Text in der Zwischenablage...")
    End If
End Sub

Private Sub cmdSave_Click()
    'Zeigt den Standard Save Dialog an und speichert den
    'Textboxinhalt
  
    'Setzt den Filter
    mscdlg.Filter = "Textdateien | *.txt"
  
    'Zeigt den Dialog an
    mscdlg.ShowSave
  
    'Fall etwas ausgeählt wurde ...
    If mscdlg.FileName <> "" Then
  
        '... öffne/erzeuge File
        Open mscdlg.FileName For Output As #1
    
        'Benütze Print Funktion, da Write ein "" an den Text
        'anhängt!!
        If optMehrZeilig.Value = True Then
            ' schreibe aktiven TextBoxInhalt ins File
            Print #1, txtTextMZ.Text
        Else
            Print #1, txtTextEZ.Text
        End If
        
        'File schließen
        Close #1
    End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
    Form1.Hide
    MsgBox ("Visit:" & Chr(13) & "     http://www.albundy.net")
End Sub

Private Sub optEinZeilig_Click()
    'Wenn EinZeilig geclickt wird, dann drehen wir alles um
    
    'Kopieren des Textes
    txtTextEZ.Text = txtTextMZ.Text
    
    'Verstecken, da anderes Control
    txtTextMZ.Visible = False
    
    'Neues anzeigen
    txtTextEZ.Visible = True
    
    '... und Übernehmen der Eigenschaften
    txtTextEZ.BackColor = txtTextMZ.BackColor
    txtTextEZ.ForeColor = txtTextMZ.ForeColor
End Sub

Private Sub optMehrZeilig_Click()
    'Siehe obige Funktion
    txtTextMZ.Text = txtTextEZ.Text
    txtTextEZ.Visible = False
    txtTextMZ.Visible = True
    txtTextMZ.BackColor = txtTextEZ.BackColor
    txtTextMZ.ForeColor = txtTextEZ.ForeColor
End Sub

Private Sub txtTextMZ_MouseUp(Button As Integer, _
    Shift As Integer, X As Single, Y As Single)
                              
    'Fügt den selektierten Text ins Clipboard ein. Wir nehmen
    'an daß wenn der Mousebutton gelöst wird, daß etwas markiert
    'wurde und schreiben das in eine Variable, welche beim Drücken
    'des Kopier Buttons in die Zwischenablage kopiert wird!
    strClipboard = Screen.ActiveControl.SelText
End Sub
'---------- Ende Formular "Form1" alias Form1.frm  ----------
'-------------- Ende Projektdatei Project1.vbp --------------

Tipp-Kompatibilität:

Windows/VB-VersionWin32sWin95Win98WinMEWinNT4Win2000WinXP
VB4
VB5
VB6

Hat dieser Tipp auf Ihrem Betriebsystem und mit Ihrer VB-Version funktioniert?

Ja, funktioniert!

Nein, funktioniert nicht bei mir!

VB-Version:

Windows-Version:

Ihre Meinung  

Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.