_Benny_ Geschrieben 6. September 2007 Geschrieben 6. September 2007 Hi, und somit gliedere ich mich auch hier in den Kreis der Fragenden ein Es geht um folgendes: Für die Arbeit habe ich ein kleines Programm geschrieben, was eine (Text)Datei einliest, anzeigt, man über ein Textfeld einen Suchbegriff eingeben kann und er das dann im Text sucht und markiert. Soweit - sogut ... aber nun möchte ich ein Hourglass einbauen, was erscheint, wenn die Datei geladen wird (was etwas dauern kann - die 151 kb große Resident Evil Komplettlösung (brauchte was größeres zum testen O=>) brauch immer ein Weilchen). Es ist soweit auch richtig verankert, aber weder txt_Anzeige.MousePointer = 11 (Textfeld des Anzeigetextes), noch frm_Textfinder.Mousepointer = 11 (Programmformular) tun ihren Dienst. Hier der Quellcode: Option Explicit Private i_Start As Integer Private Search As String Private Source As String Private Sub cmd_Ausfuehren_Click() i_Start = i_Start + 1 i_Start = InStr(i_Start, txt_Anzeige.Text, txt_Suche.Text) If i_Start = 0 Then Call MsgBox("Nicht gefunden!") Else txt_Anzeige.SelStart = i_Start - 1 txt_Anzeige.SelLength = Len(txt_Suche) End If End Sub Private Sub Form_Load() txt_Datei.Text = "" txt_Suche.Text = "" txt_Anzeige.Text = "" i_Start = 0 End Sub Private Sub mnu_DBeenden_Click() End End Sub Private Sub mnu_DOeffnen_Click() dlg_Suche.Filter = "*.txt(txt-Dateien)|*.txt|*.*(Alle Dateien)|*.*" dlg_Suche.DialogTitle = "Öffnen einer Textdatei" dlg_Suche.ShowOpen If dlg_Suche.FileName = "" Then Exit Sub End If txt_Anzeige.Text = "" txt_Anzeige.MousePointer = 11 txt_Datei.Text = dlg_Suche.FileName txt_Anzeige.MousePointer = 0 Dim DateiNr As Integer DateiNr = FreeFile Open dlg_Suche.FileName For Input As DateiNr Dim Temp As String Do Line Input #DateiNr, Temp txt_Anzeige.Text = txt_Anzeige.Text & Temp & vbCrLf Loop Until EOF(DateiNr) = True Close DateiNr End Sub Bestimmt fehlt was ^__^ Ich habe auch schon geschaut - die Stelle von txt_Anzeige.MousePointer = 11 ist richtig! Für Hilfe wäre ich sehr dankbar Gruß Benny Zitieren
Amstelchen Geschrieben 6. September 2007 Geschrieben 6. September 2007 versuch bitte mal Screen.Mousepointer = vbHourglass und nach einlesen Screen.Mousepointer = vbDefault ich wüsste nicht (und habs noch nie versucht), einem textfeld eine sanduhr zuzuweisen. AFAIR gibts beim klassischen VB sowieso nur die möglichkeit über das Screen-objekt. s'Amstel Zitieren
_Benny_ Geschrieben 6. September 2007 Autor Geschrieben 6. September 2007 Ich habe es anders lösen können: Das Problem war, das der MousePointer noch beim Einlesen wieder zurückgesetzt worden ist. Mein Fehler war, dass ich eben den Mauszeiger zu früh gesetzt habe. Nachdem ich den Default Mousebutton ans Ende gesetzt habe, gehts, wie ich es mir wünsche. Dennoch Danke Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.