![]() |
Du könntest versuchen die "AutoRedraw"-Property des Formulars auf TRUE zu setzen. Das kann allerdings unter Umständen viel Rechenleistung fressen.
|
Ich hab jetzt mit AutoRedraw und FontTransparent des forms und BackStyle des labels gepsielt, aber geholfen hat es nicht... :(
Der Balken geht jetzt zwar (ist nicht an dem gelegen, sondern an komishcen leeren Einträgen in der Liste) aber das label ist immer noch weiß außer ganz kurz in dem Moment, in dem der Text des lables gewechselt wird. :heul: Der Abbrechen-button ist übrigens auch extrem träge... Aber immerhin hab ich jetzt das mit dem INI hingekriegt, bald kann ich sagen es kann alles was es muss! (Das mit dem balken ist ja nicht so wichtig...) |
Das mit dem Redraw werde ich mir nochmal ansehen wenn's sich heute abend ausgeht.
Was den Abbrechen-Button betrifft, so kann dieser nur reagieren wenn der Code die Steuerung an andere Prozesse abgibt (DoEvent). |
Hi!
Ich denke auch das Problem mit dem weißen Fleck ist bei einem Formular leichter zu lösen. Ich hab erst nachher gesehen, daß auch einzelne Dateien als Quelle ausgewählt werden können. Mehrere Ordner hintereinander sind aber auch mit dem Dialogfeld kein Problem. Mit FSO erfährst du die Dateigröße. Zur Anzeige vird ein ProgressBar verwendet. Ich meine aber der Aufwand lohnt sich nicht wirklich. Hauptsache der User sieht, daß das Progamm arbeitet. Wenn vor der Sprungmarke kein Exit Sub oder Exit Function steht, wird der Code weiter ausgeführt. @seidl Dim hWnd As Long Private Type BrowseInfo hwndOwner As Long pIDLRoot As Long pszDisplayName As Long lpszTitle As Long ulFlags As Long lpfnCallback As Long lParam As Long iImage As Long End Type Private Const BIF_RETURNONLYFSDIRS = 1 Private Const MAX_PATH = 260 Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long) Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, _ ByVal lpString2 As String) As Long Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, _ ByVal lpbuffer As String) As Long Property Get SelectedFolder() As String SelectedFolder = BrowseForFolder(hWnd, "Bitte wählen Sie einen Ordner:") End Property Private Function BrowseForFolder(hwndOwner As Long, sPrompt As String) As String Dim iNull As Integer Dim lpIDList As Long Dim lResult As Long Dim sPath As String Dim udtBI As BrowseInfo With udtBI .hwndOwner = hwndOwner .lpszTitle = lstrcat(sPrompt, "") .ulFlags = BIF_RETURNONLYFSDIRS End With lpIDList = SHBrowseForFolder(udtBI) If lpIDList Then sPath = String$(MAX_PATH, 0) lResult = SHGetPathFromIDList(lpIDList, sPath) Call CoTaskMemFree(lpIDList) iNull = InStr(sPath, vbNullChar) If iNull Then sPath = Left$(sPath, iNull - 1) End If BrowseForFolder = sPath End Function mfg WB |
@ wbendl: Besten Dank für den API-Aufruf! :) Den kann ich sicher nochmal brauchen.
|
Bis auf das Refresh-Problem ist es jetzt eh schon ganz gut.
Leider kann ich hier nicht das fetig gepackte Setupfile anhängen, weil es ja ganze 652KB hat. (Und das, obwohl ich sogar eine andere progressbar genommen hab.) Das Refreshproblem ist eigentlich gar nicht so schlimm, denn bei kleieren Kopierjobs fällt es gar nicht auf und sowiso sollte das Programm ja eigentlich erst gerstartet werden, wenn man am gehen ist damit es über Nacht die tägliche Sicherung erledigt. Noch mals vielen Dank für eure Hilfe! (Ein Tipp wegen dem Problem wäre natürlich schon noch super - ich will ja etwas gescheites machen...) PS: Wer das Setup will: Ich kann es ja per mail verschicken... PPS: Die Pfade sind dan standardmäßig auf d: (Quelle) und n: Ziel gestellt, also nicht wundern wenn eine Fehlermeldung kommt... |
Hmm... denn keiner einen Idee, wie man diesen kleinen Schönheitsfehler ausbessern könnte?
|
Aufgeschoben ist nicht aufgehoben. Bin leider zur Zeit ziemlich gestresst. Spätestens am Wochenende sollte ich aber Zeit haben, mir die Sache nochmal anzusehen.
|
Ja okay, ist schon früh genug, ich wollte keine Kritk üben oder jemanden stressen...
Ich bin mir im Forum blos gewohnt die Beiträg immer nach oben zu schieben. |
Hi!
Schick deinen Code an wb-soft@blackbox.net, ich schau mir das am Wochenende an. Dein Beispiel hab ich mir angesehen. Wie schon gesagt, ich würde dafür nur eine Form verwenden. Dadurch würde das Problem wahrscheinlich von selbst verschwinden. mfg WB |
| Alle Zeitangaben in WEZ +2. Es ist jetzt 21:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag