StartButton flackert?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Blackskyliner
Beiträge: 532
Registriert: 28.07.2005 00:54
Wohnort: /home/Blackskyliner/

StartButton flackert?

Beitrag von Blackskyliner »

Hallo,
Ich habe ein Problem wenn ich mein Programm als Tray in die Leiste tue flackert mein Windumm Startknopf immer... (W2K)

Code: Alles auswählen

If IsIconic_(WindowID(#Window_Player)) = 1
        HideWindow(#Window_Player, 1)
        AddSysTrayIcon(#SysTrayIcon, WindowID(0), Image) 
      EndIf
Keine meiner Antworten ist endgültig, es kann passieren, dass ich den so eben geposteten Beitrag noch mehrmals ändere, um Doppelposts zu umgehen.
_________________
Purebasic Windows 7 x64 & Linux (Ubuntu 10.04LTS) 4.50[x64|x86] Nutzer
_________________
Projekte: YAED - Yet another Event Dispatcher
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Evtl. ein Fehler in Deiner Ereignisschleife oder Windows-Fehler. Ohne Code kann man aber Wohl nicht viel zu sagen.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Blackskyliner
Beiträge: 532
Registriert: 28.07.2005 00:54
Wohnort: /home/Blackskyliner/

Beitrag von Blackskyliner »

also ich mache als eieignis event ein WindowEvent() und ein Sleep_() oder Delay() oder so...

Code: Alles auswählen

  If OpenWindow(#Window_Player, 270, 233, 360, 225, #PB_Window_SizeGadget | #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered | #PB_Window_WindowCentered | #PB_Window_MaximizeGadget, "MP3-Player")
    SetWindowCallback(@WCB())
    
    ;TrayIcon-Load
    Image = LoadIcon_(GetModuleHandle_(0), 1) 
    Repeat
      If EventID = #PB_Event_SizeWindow 
        ResizeGadget(#Playlist, 0, 0, WindowWidth(), WindowHeight() - 60) 
        For i=#LOAD To #QUIT 
          If IsGadget(i)
            ResizeGadget(i, -1, WindowHeight() - 45, -1, -1) 
          EndIf 
        Next 
        For i=#TIME_Total To #TIME_Current 
          If IsGadget(i)
            ResizeGadget(i, -1, WindowHeight() - 60, -1, -1) 
          EndIf 
        Next 
      EndIf 
      If IsIconic_(WindowID(#Window_Player)) = 1
        HideWindow(#Window_Player, 1)
        AddSysTrayIcon(#SysTrayIcon, WindowID(0), Image) 
      EndIf

      Current = GetAudioZState(#AUDIO_ID)
      
      ;Code von wegen Abspielen und adden der Lieder usw....
      
      EventID.l = WindowEvent()
      If IsAudioZPlaying(#AUDIO_ID) = #False
        Delay(10)
      EndIf 
      
      If IsAudioZPlaying(#AUDIO_ID)
        SetGadgetText(#TIME_Current, PositionAudioZTime(Current))
        Delay(10)
      EndIf 

    Until Quit=1
  EndIf
EDIT
ist bestimt das Delay()

EDIT2
Der StartButton von Windumm verhält sich wie ein Gadget der ständig aktualisiert wird.....

EDIT3:
Der schnipsel:

Code: Alles auswählen

If OpenWindow(0, 270, 233, 360, 225, #PB_Window_SizeGadget | #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered | #PB_Window_WindowCentered | #PB_Window_MaximizeGadget, "MP3-Player")
  Repeat
    If IsIconic_(WindowID(0)) = 1
      HideWindow(0, 1)
      AddSysTrayIcon(0, WindowID(0), Image) 
    EndIf
    If WindowEvent() = #PB_EventSysTray 
      Select EventType() 
        Case #PB_EventType_LeftDoubleClick 
          RemoveSysTrayIcon(0)
          HideWindow(0, 0)
          SetForegroundWindow_(WindowID(0))
          ActivateWindow()
          ;GadgetResize()
        Case #PB_EventType_RightClick
          DisplayPopupMenu(1,WindowID())  
      EndSelect 
    EndIf 
  Until WindowEvent() = #PB_Event_CloseWindow
EndIf
End
macht das allerdings nicht.... seltsam....

EDIT4:
Aber sobald ich da ein Icon über de Ressource lade flackert das wie verrückt...

Code: Alles auswählen

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) 
  Repeat
    If IsIconic_(WindowID(0)) = 1
      HideWindow(0, 1)
      AddSysTrayIcon(0, WindowID(0), Image) 
    EndIf
    If WindowEvent() = #PB_EventSysTray 
      Select EventType() 
        Case #PB_EventType_LeftDoubleClick 
          RemoveSysTrayIcon(0)
          HideWindow(0, 0)
          SetForegroundWindow_(WindowID(0))
          ActivateWindow()
          ;GadgetResize()
        Case #PB_EventType_RightClick
          DisplayPopupMenu(1,WindowID())  
      EndSelect 
    EndIf 
  Until WindowEvent() = #PB_Event_CloseWindow
EndIf
End
Zuletzt geändert von Blackskyliner am 26.09.2005 22:05, insgesamt 2-mal geändert.
Keine meiner Antworten ist endgültig, es kann passieren, dass ich den so eben geposteten Beitrag noch mehrmals ändere, um Doppelposts zu umgehen.
_________________
Purebasic Windows 7 x64 & Linux (Ubuntu 10.04LTS) 4.50[x64|x86] Nutzer
_________________
Projekte: YAED - Yet another Event Dispatcher
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Eine Ereignisbehandlung von #PB_Event_SysTray kann ich nicht entdecken, der Fehler könnte auch in Deinem WindowsCallback stecken.
Solltest Dir vielleicht doch die Mühe machen, einen abgespeckten lauffähigen Code zu erstellen, in dem der Fehler auftritt.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Blackskyliner
Beiträge: 532
Registriert: 28.07.2005 00:54
Wohnort: /home/Blackskyliner/

Beitrag von Blackskyliner »

Hab da jetzt mal geupdatet meinen Post...
Keine meiner Antworten ist endgültig, es kann passieren, dass ich den so eben geposteten Beitrag noch mehrmals ändere, um Doppelposts zu umgehen.
_________________
Purebasic Windows 7 x64 & Linux (Ubuntu 10.04LTS) 4.50[x64|x86] Nutzer
_________________
Projekte: YAED - Yet another Event Dispatcher
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Hab jetzt mal Code 4 getestet, ohne Popup-Menue, das fehlt ja, der läuft problemlos
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Blackskyliner
Beiträge: 532
Registriert: 28.07.2005 00:54
Wohnort: /home/Blackskyliner/

Beitrag von Blackskyliner »

Auf W2K oder XP?.... dasa reimt sich, wenn mans anders ausspricht...
Keine meiner Antworten ist endgültig, es kann passieren, dass ich den so eben geposteten Beitrag noch mehrmals ändere, um Doppelposts zu umgehen.
_________________
Purebasic Windows 7 x64 & Linux (Ubuntu 10.04LTS) 4.50[x64|x86] Nutzer
_________________
Projekte: YAED - Yet another Event Dispatcher
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Blackskyliner hat geschrieben:Auf W2K oder XP?.... dasa reimt sich, wenn mans anders ausspricht...
Sollte zwar keinen Unterschied machen, dieser Code sollte auch auf Win95 mit IE 4.0 laufen, aber ich benutze WinXP SP2 Pro
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Blackskyliner
Beiträge: 532
Registriert: 28.07.2005 00:54
Wohnort: /home/Blackskyliner/

Beitrag von Blackskyliner »

ja ber ich meine, dieses flackern tritt nur bei W2K auf, bei meim TestXP hab ich auch keine probleme und älter hab ich nichtsmehr am laufen *malwiederirgendwannvirtuellinstallier*
Keine meiner Antworten ist endgültig, es kann passieren, dass ich den so eben geposteten Beitrag noch mehrmals ändere, um Doppelposts zu umgehen.
_________________
Purebasic Windows 7 x64 & Linux (Ubuntu 10.04LTS) 4.50[x64|x86] Nutzer
_________________
Projekte: YAED - Yet another Event Dispatcher
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

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...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten