Det jeg mangler er at kunne opdatere indholdet i en liste eller et tekstfelt eller noget andet. Jeg looper igennem en datakilde (en fil, eller nogle items osv). hver gang jeg lopper igennem skal det element, der viser de nye data opdateres på skærmbilledet, så man kan se, at de løbende bliver tilføjet...
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 Const LB_FINDSTRING = &H18F
Public Sub AddList(lstList As ListBox, ByVal strText As String) Dim lngIndex As Long With lstList lngIndex = SendMessage(.hWnd, LB_FINDSTRING, -1, ByVal strText) If lngIndex = -1 Then .AddItem strText & " (" & Time & ")" Else .List(lngIndex) = strText & " (" & Time & ")" End If End With End Sub
Private Sub Command1_Click() Randomize AddList List1, "200.27.45." & Int((5 - 0 + 1) * Rnd + 0) End Sub
Private Sub Form_Load() Dim i As Integer Randomize For i = 1 To 5 AddList List1, "200.27.45." & Int((5 - 0 + 1) * Rnd + 0) Next i End Sub '----------------------------- Form1 -----------------------------
Jeg har lige testet dit forslag med list.refresh og det virker jo fint, men måske formulerede jeg mig forkert...
Det drejer sig ikke nødvendigvis om lister eller tekstfelter... Jeg ønsker at foretage en handling i mit program, hver gang, jeg løber igennem et loop. I dette tilfælde aktivere en webside inde i mit program.
Samtidig samler jeg en streng, som bliver vist i et tekstfelt. Under hvert gennemløb samles strengen og udskrives i tekstfeltet.. Eller det er hvad jeg ønskede den skulle gøre. Men først når loopet et færdigt, vises indholdet i tesktfeltet på skærmen, og min webside bliver kun aktiveret med det sidste loop.
Det jeg søger er altså en måde at skidtet skal blive udført HVER gang, jeg looper igennem... faktisk forstår jeg ikke, hvorfor det ikke virker, når listeopdateringen nu virker hver gang jeg ryger igennem det loop!
Det er fordi den ikke opdaterer skræmbilledet under kode-ekserkvering. I loop´et skriver du ganske enkelt efter tilføjelsen af den nye tekst:
DoEvents
Det tvinger programmet til at stoppe, lave en repaint (og altså også en opdatering af tekstboksen), og fortsætte bagefter. På den måde undgår du også, at programmet "hænger" under gennemløbet af dit loop. Til gengæld bliver ekserkveringen en lille smule langsommere.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.