Seite 2 von 2

Verfasst: 26.09.2005 23:35
von ts-soft
Kaeru Gaman hat geschrieben:wenn ich code 4 teste, sagt er mir beim minimieren, die image-ID wär Null.

wollte mal schauen, obs flackert, hab nämlich W2Kpro (SP4)

wenn du mir ein komplettes, lauffähiges snippet gibst, wos bei dir flackert, teste ichs gern mal...
Image ID ist nur 0, wenn Du es in der IDE testet. Desweiteren ist ein Icon für die Exe erforderlich

Verfasst: 27.09.2005 00:11
von ts-soft
Hab Code 4 mal umgestellt, mit funktionierender Ereignisbehandlung:

Code: Alles auswählen

Global Image
Procedure WinCallback(WindowID, Message, wParam, lParam) 
  Result.l = #PB_ProcessPureBasicEvents 
    If Message = #WM_SIZE 
      Select wParam 
        Case #SIZE_MINIMIZED: 
          HideWindow(0, 1)
          AddSysTrayIcon(0, WindowID(0), Image)
      EndSelect 
    EndIf 
  ProcedureReturn Result    
EndProcedure 

If OpenWindow(0, 270, 233, 360, 225, #PB_Window_SizeGadget | #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered | #PB_Window_WindowCentered | #PB_Window_MaximizeGadget, "MP3-Player")
  Image = LoadIcon_(GetModuleHandle_(0), 1)
  SetWindowCallback(@WinCallback())
  Repeat
    Event = WaitWindowEvent()
    Select Event 
      Case #PB_Event_SysTray
        Select EventType()
          Case #PB_EventType_LeftDoubleClick
            RemoveSysTrayIcon(0)
            HideWindow(0, 0)
            SetForegroundWindow_(WindowID(0))
            ActivateWindow()
            ;GadgetResize()          
          Case #PB_EventType_RightClick
            DisplayPopupMenu(1,WindowID())
        EndSelect
    EndSelect
  Until Event = #PB_Event_CloseWindow
EndIf
End
Mußte nur noch in Dein Programm einpassen

Verfasst: 27.09.2005 00:50
von Kaeru Gaman
ts-soft hat geschrieben:Image ID ist nur 0, wenn Du es in der IDE testet. Desweiteren ist ein Icon für die Exe erforderlich
...hätt ich auch selber drauf kommen können, aber war ehrlich gesagt zu faul...

also

bei mir flackert der startbutton auch.
außerdem scheint irgendwo ne ziemliche belastung aufgetreten zu sein,
einer der internen lüfter hat an drehzahlen zugelegt...
könnte der von der graka gewesen sein, die ist nämlich kurz darauf ausgestiegen (blackscreen)

------------------------------------------------------------------

so, jetzt mal das getestet, was von ts umgestellt wurde.

das flackern ist weg.

der lüfter scheint auch ein wenig nervöser zu werden,
aber bis jetzt ist mein screen noch da... XD

------------------------------------------------------------------


noch etwas:
das systray-icon erwartet einen doppelklick zur reaktivierung,
damit erwisch ich das nebenstehende icon gleich mit.

entweder mit einfachem click aktivieren, oder das icon im tray permanent machen.

Verfasst: 27.09.2005 18:26
von Blackskyliner
Dankeschön funktioniert nun einwandfrei, es lag bei mir auch hauptsächlich an der If Iconic_() in der Reapeatschleife...