·  Start ·  Programme ·  Codes ·  Tipps ·  ActiveX ·  Tutorials · 



Für dieses Beispiel benötigen Sie eine Form, eine Listbox und zwei Commandbuttons.

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
Const WM_USER = &H400
Const LB_ADDSTRING = &H180
Const WM_SETREDRAW = &HB
 
Private myArr(1000) As Variant

Private Sub Command1_Click()
' normales Füllen
Dim i As Integer
Dim temp As String
Dim rVal As Long
List1.Clear
x = Timer
  For i = 1 To 1000
    temp = Int(Rnd * UBound(myArr))
    List1.AddItem temp
    DoEvents
  Next
y = Timer
MsgBox "Dauer: " & y - x
 
End Sub
 
Private Sub Command2_Click()
' mit Sendmessage füllen
Dim i As Integer
Dim temp As String
Dim rVal As Long
List1.Clear
 
x = Timer ' nur zur Zeitmessung (Benchmark)
' Neuzeichnen verhindern
rVal = SendMessage(List1.hwnd, WM_SETREDRAW, 0, 0)
 
  For i = 1 To 1000
    temp = Int(Rnd * UBound(myArr))
    rVal = SendMessage(List1.hwnd, LB_ADDSTRING, 0, ByVal temp)
    DoEvents
  Next
 
' Neuzeichnen
rVal = SendMessage(List1.hwnd, WM_SETREDRAW, 1, 0)
 
y = Timer
MsgBox "Dauer: " & y - x
 
End Sub
 
Private Sub Form_Load()
  Command1.Caption = "AddItem normal"
  Command2.Caption = "AddItem mit Sendmessage"
End Sub
Aktualisiert: 12.02.2008, 14:10 Uhr Copyright © 2001 - 2010 by ST-software Navigation zurück  |  Navigation vorwärts  |  Zum Seitenanfang     
Ihre IP: 38.107.191.84 ·  Seite erstellt in: 0.264 Sekunden ·  Dateigröße:  3268 Bytes