Seite 3 von 4
Re: Fensterinhalt wird nur bei Mausbewegung aktualisiert
Verfasst: 29.11.2009 22:36
von Mok
Vera hat geschrieben:
Man kann sich helfen, indem man zwischendurch ein völlig anderes ICO einbindet (zB 1kb statt ein 6er).
Das habe ich auch schon getan... insgesamt ist das schon mein 3. ICO, zwischendurch hab ich auch mal garkeines angegeben. Im Fensterrahmen (oben links) ist zwar das neue und in der Taskbar auch, aber das Programm "itself" (also das Symbol wo man draufklickt) hat noch das alte Icon
Re: Fensterinhalt wird nur bei Mausbewegung aktualisiert
Verfasst: 29.11.2009 22:41
von Kaeru Gaman
Mok hat geschrieben:WaitWindowEvent(1)
... das ist jetzt nicht dein Ernst, gell?
Re: Fensterinhalt wird nur bei Mausbewegung aktualisiert
Verfasst: 29.11.2009 22:45
von ts-soft
Vera hat geschrieben:
ts-soft hat geschrieben:(gibt auch professionelle Tools, die das können

)
zB: 
- denn TweakUI zerfetzt einem dabei auch gleich den Desktop
Grüße ~ Vera
TweakUI??? Das gibts doch seid w2k nicht mehr
z.B. TuneUp 2010
Re: Fensterinhalt wird nur bei Mausbewegung aktualisiert
Verfasst: 29.11.2009 22:47
von Vera
Mok hat geschrieben:aber das Programm "itself" (also das Symbol wo man draufklickt) hat noch das alte Icon
Du meinst vermutlich das ExeIcon im Explorer - das steckt in dem Cache. Ggf. hilft, außer Cachelöschen, zwischendurch den Programmnamen zu ändern.
Alles nur halbgar - man müßte ein MiniTool haben, um den IconRefresh-Befehl ausführen zu lassen.
Gruß ~ Vera
Re: Fensterinhalt wird nur bei Mausbewegung aktualisiert
Verfasst: 29.11.2009 22:47
von Mok
Kiffi hat geschrieben:Versieh Dein WaitWindowEvent() mit einem Timeout und schon klappts.
Kaeru Gaman hat geschrieben:Mok hat geschrieben:WaitWindowEvent(1)
... das ist jetzt nicht dein Ernst, gell?
Ich will ein Bier.

Re: Fensterinhalt wird nur bei Mausbewegung aktualisiert
Verfasst: 29.11.2009 22:49
von Kaeru Gaman
also, ein TimeOut von EINER Millisekunde ist reichlich unnütz, dann kannst du auch gleich nur WindowEvent() hinschreiben.
nimm mal 100.
Re: Fensterinhalt wird nur bei Mausbewegung aktualisiert
Verfasst: 29.11.2009 22:55
von Vera
ich uso !

~

~

~ Vera
@ ts-soft
Danke für den
1.Tip - aber 35bucks sind indiskutable
Re: Fensterinhalt wird nur bei Mausbewegung aktualisiert
Verfasst: 29.11.2009 22:59
von Kai
Hab mir mal erlaubt dein Source etwas umzuschreiben, so würde ich es realisieren.
Soll nur ein Vorschlag sein.
Code: Alles auswählen
EnableExplicit
Enumeration
#Win_Main
EndEnumeration
Enumeration
#TX_Main_Full
#TX_Main_Use
#TX_Main_UsePercent
#TX_Main_Free
#TX_Main_FullC
#TX_Main_UseC
#TX_Main_UsePercentC
#TX_Main_FreeC
EndEnumeration
Structure _WinLoop
WindowEvent.i
EventWindow.i
EventGadget.i
EventMenu.i
EventType.i
EventTimer.i
EventlParam.i
EventwParam.i
ActiveWindow.i
ActiveGadget.i
EndStructure
Global Event._WinLoop
Procedure.s FormatPointedSize(Size.q)
If Size > 999
Protected lNext.l, sSize.s = Str(Size), sTemp.s, sResult.s
For lNext = 1 To Len(sSize)
sResult = Mid(sSize, Len(sSize) - lNext + 1, 1)
If lNext % 3 = 0 And lNext <> Len(sSize)
sResult = "." + sResult
EndIf
sTemp = sResult + sTemp
Next
ProcedureReturn sTemp
Else
ProcedureReturn Str(Size)
EndIf
EndProcedure
Procedure OpenWindow_Main()
If OpenWindow(#Win_Main, 428, 532, 215, 85, "RamView", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
TextGadget(#TX_Main_Full, 5, 5, 80, 15, "Gesamt:", #PB_Text_Right)
TextGadget(#TX_Main_Use, 5, 25, 80, 15, "Verbrauch:", #PB_Text_Right)
TextGadget(#TX_Main_UsePercent, 5, 45, 80, 15, "Verbrauch %", #PB_Text_Right)
TextGadget(#TX_Main_Free, 5, 65, 80, 15, "Frei:", #PB_Text_Right)
TextGadget(#TX_Main_FullC, 90, 5, 120, 15, "...")
TextGadget(#TX_Main_UseC, 90, 25, 120, 15, "...")
TextGadget(#TX_Main_UsePercentC, 90, 45, 120, 15, "...")
TextGadget(#TX_Main_FreeC, 90, 65, 120, 15, "...")
EndIf
EndProcedure
Procedure RefreshMemory()
Protected sTemp.s
Protected MemEx.MEMORYSTATUSEX
MemEx\dwLength = SizeOf(MEMORYSTATUSEX)
GlobalMemoryStatusEx_(@MemEx)
sTemp = FormatPointedSize(MemEx\ullTotalPhys / 1024 / 1024) + " MB"
If sTemp <> GetGadgetText(#TX_Main_FullC)
SetGadgetText(#TX_Main_FullC, sTemp)
EndIf
sTemp = FormatPointedSize((MemEx\ullTotalPhys - MemEx\ullAvailPhys) / 1024 / 1024) + " MB"
If sTemp <> GetGadgetText(#TX_Main_UseC)
SetGadgetText(#TX_Main_UseC, sTemp)
EndIf
sTemp = FormatPointedSize(MemEx\dwMemoryLoad) + " %"
If sTemp <> GetGadgetText(#TX_Main_UsePercentC)
SetGadgetText(#TX_Main_UsePercentC, sTemp)
EndIf
sTemp = FormatPointedSize(MemEx\ullAvailPhys / 1024 / 1024) + " MB"
If sTemp <> GetGadgetText(#TX_Main_FreeC)
SetGadgetText(#TX_Main_FreeC, sTemp)
EndIf
EndProcedure
Procedure Main()
OpenWindow_Main()
SetTimer_(0, 0, 250, @RefreshMemory())
Repeat
Event\WindowEvent = WaitWindowEvent()
Event\EventGadget = EventWindow()
Select Event\WindowEvent
Case #PB_Event_Gadget
Select Event\EventGadget
EndSelect
Case #PB_Event_CloseWindow
Select Event\EventWindow
Case #Win_Main : End
EndSelect
EndSelect
ForEver
EndProcedure
Main()
Re: Fensterinhalt wird nur bei Mausbewegung aktualisiert
Verfasst: 29.11.2009 23:01
von Kaeru Gaman
aber selbst mit einem timeout von 1 braucht das proggi bei mir "nur" eine sekunde bis die buttons auftauchen...
wenn ich das erste Ermitteln von ElapsedTime direkt vor die Schleife schreibe und den timeout auf 100 hochstelle, wirds auch nicht viel besser...
dauert das echt ganze 10 sekunden bei dir?
Re: Fensterinhalt wird nur bei Mausbewegung aktualisiert
Verfasst: 29.11.2009 23:06
von Mok
aber selbst mit einem timeout von 1 braucht das proggi bei mir "nur" eine sekunde bis die buttons auftauchen...
wenn ich das erste Ermitteln von ElapsedTime direkt vor die Schleife schreibe und den timeout auf 100 hochstelle, wirds auch nicht viel besser...
dauert das echt ganze 10 sekunden bei dir?
Leider ja

- meistens noch viel mehr, da bekomme ich dann die Abbruch-meldung vom Debugger.
Mein PC ist so dermaßen schlecht, ich habe schon eine CPU-Temeratur von 74 °C, wenn ich nur FiFi mit 2 Tabs offen habe, Skype laufen habe und gerade nix tu... dabei ist das Modell grad erst vor 'nem Jahr rausgekommen...
@Kai:

Also, falls das für einen Großteil der Board-User übersichtlicher ist, brauch ich wirklich ein Bier!