Nicht alle, die sich für Profis halten, sind auch
wirklich Top, das mußte ich erst kürzlich wieder feststellen.
Ein nicht unbekannter VB-Programmierer, und das ist man ja schließlich, wenn man für
Zeitschriften, wie das VBA-Magazin schreibt,
wußte nicht mehr zu dem Thema zu sagen, als das er glaubt, das es geht.Sei es, wie es sei, Sie werden es bald genau wissen und nicht nur
das es geht, sondern auch wie es geht.
Was brauchen Sie alles für ein Demoprojekt.
1. eine Form (Form1)
2. eine Listbox (List1)
3. einen CommandButton (Command1(0))
4. eine Kopie des ersten CommandButtons (Command1(1))
5. einen Timer
Herzstück unseres Projekts ist erstens eine API-Funktion
Allgemein/Deklarationen
Private Declare Function LockWindowUpdate Lib "user32" ( _
ByVal hwndLock As Long) _
As Long
und zweitens der Timer, dessen Interval Eigenschaft Sie auf 1000 (1sek.)
stellen und ihm in das Timer Event die Anweisung übergeben,
bei jedem Durchlauf einen neuen Eintrag in die Listbox zu schreiben.
In unserem Fall eine Datums - Uhrzeitanzeige, damit wir auch die Änderung verfolgen
können.
Timer1_Timer
'neuen Eintrag
List1.AddItem Format(Now, "DDDD, DD.MM.YYYY - HH:NN:SS")
'zum letzen Datensatz gehen
List1.ListIndex = List1.ListCount - 1
Als Letzes erhält der CommandButton noch seine
Funktionalität, nämlich die Aktualisierung zu deaktivieren bzw. diese wieder zu
aktivieren.
Command1_Click(Index As Integer)
If index = 0 Then
LockWindowUpdate Me.hWnd
ElseIf index = 1 Then
LockWindowUpdate 0
End If
Designen Sie noch etwas an der Anordnung Ihrer Steuerelemente herum
|
Listbox |
|
|
|
|
|
|
|
|
|
Command1(0) |
|
Command1(1) |
|
und starten Sie dann Ihr Projekt mit F5
zum Test.
Solange wie die Aktualisierung deaktiviert ist, werden die Einträge nicht mehr angezeigt,
sie sind aber nicht verloren, wie Sie sehen werden, wenn Sie die Anzeige wieder
aktualisieren lassen.
Sehr nutzbringend ist diese Vorgehensweise vorallem dort, wo Sie gezwungen sind, ggf.
nicht ganz so saubere Aktionen durchzuführen,
die dem Anwender aber verborgen bleiben sollen, was dabei geht,
müssen Sie selbst erkunden. |