19 05 2007

TextBox İçeriğini ListBox’a Eklemek

(General)(Declaration)
Option Explicit

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 Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (hpvDest As Any, hpvSource As Any, ByVal cbCopy As Long)

Const EM_GETLINECOUNT = &HBA
Const EM_GETLINE = &HC4

Private Sub Command1_Click()
Dim lCount As Long, l As Long, i As Integer, k As Long, a$
lCount = SendMessage(Text1.hwnd, EM_GETLINECOUNT, 0, ByVal 0)
If lCount = 0 Then Exit Sub
ReDim aLines(1 To lCount) As String
i = 512
a$ = Space$(512)
List1.Clear
For l = 0 To lCount - 1
Call CopyMemory(ByVal a$, i, 2)
k = SendMessage(Text1.hwnd, EM_GETLINE, l, ByVal a$)
aLines(l + 1) = Left$(a$, k)
List1.AddItem aLines(l + 1)
Next
End Sub