| SendMessage, SendMessageString |
| |
| |
| Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, _ |
| ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long |
| Private Declare Function SendMessageString Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, _ |
| ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long |
| |
| Private Const EM_GETLINE = &HC4 |
| Private Const EM_GETLINECOUNT = &HBA |
| Private Const EM_LINEFROMCHAR = &HC9 |
| Private Const LB_FINDSTRING = &H18F |
| Private Const LB_FINDSTRINGEXACT = &H1A2 |
| Private Const CB_FINDSTRING = &H14C |
| Private Const CB_FINDSTRINGEXACT = &H158 |
|
| Private Sub cmdAnzahl_Click() |
| Dim AnzahlZeilen As Long |
| AnzahlZeilen = SendMessage(txtTextfeld.hwnd, EM_GETLINECOUNT, 0, 0) |
| MsgBox Prompt:=AnzahlZeilen | |
| End Sub | |
| |
| Private Sub cmdAktuelleZeile_Click() | |
| Dim Zeilennummer As Integer | |
| Zeilennummer = SendMessage(txtTextfeld.hwnd, EM_LINEFROMCHAR, -1, 0&) |
| MsgBox Prompt:="Zeilennummer: " & Zeilennummer + 1 | |
| End Sub | |
| |
| Private Sub cmdSuche_Click() | |
| Dim Tmp As String, RetVal As Long | |
| Tmp = txtSuchbegriff.Text | |
| RetVal = SendMessage(lstSuche.hwnd, LB_FINDSTRING, -1, ByVal Tmp) |
| If RetVal = -1 Then | |
| MsgBox Prompt:="Kein Eintrag gefunden" | |
| Else | |
| lstSuche.ListIndex = RetVal | |
| End If | |
| End Sub | |
| |
| Private Sub cmdZeileLesen_Click() | Liest nur erste Zeile in TextBox. |
| Dim AnzahlZeichen As Long | |
| Dim ZeilenPuffer As String | |
| Dim Länge As Long | |
| ZeilenPuffer = Space(1024) | |
| Länge = Len(ZeilenPuffer) - 1 | |
| Mid(ZeilenPuffer, 1, 1) = Chr(Länge And &HFF) | |
| Mid(ZeilenPuffer, 2, 1) = Chr(Länge \ 100) | |
| AnzahlZeichen = SendMessageString(txtTextfeld.hwnd, EM_GETLINE, 0, ZeilenPuffer) |
| MsgBox Prompt:=Left(ZeilenPuffer, AnzahlZeichen) | |
| End Sub | |
| |
| Private Sub Form_Load() | |
| lstSuche.AddItem Item:="Frankfurt" | |
| lstSuche.AddItem Item:="Köln" | |
| lstSuche.AddItem Item:="Düsseldorf" | |
| lstSuche.AddItem Item:="Erfurt" | |
| Dim n As Long | |
| For n = 0 To Screen.FontCount - 1 | |
| lstSuche.AddItem Item:=Screen.Fonts(n) | |
| Next | |
| End Sub | |
| |