Seite 3 von 3

Re: Flackern von Gadgets verhindern

Verfasst: 05.02.2012 23:38
von Delle
So, hier mal ein funktionierender Code... bitte Directory anpassen und mal mit mehreren kleineren JPGs probieren.

Code: Alles auswählen

#Window=0
#ScrollAreaGadget=0

Global newH=130
Global newY=10

UseJPEGImageDecoder():UseJPEGImageEncoder()

OpenWindow(0,0,0,200,360,"test",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)

ScrollAreaGadget(#ScrollAreaGadget,10,10,180,300,158,300,0)

Directory$="d:\speed\"

If ExamineDirectory(0, Directory$, "*.*")  
  
  While NextDirectoryEntry(0)
      
      If DirectoryEntryType(0) = #PB_DirectoryEntry_File
      
        If GetExtensionPart(DirectoryEntryName(0))="JPG"
          
          pic=LoadImage(#PB_Any,Directory$+DirectoryEntryName(0))
          ButtonImageGadget(#PB_Any,10,newY,160,120,ImageID(pic))
   		    
   		    newY+newH
   		    
   		    anzahl=anzahl+1
   		    
   		    SetGadgetAttribute(#ScrollAreaGadget,#PB_ScrollArea_InnerHeight,anzahl*130)
 		      SetGadgetAttribute(#ScrollAreaGadget,#PB_ScrollArea_Y,anzahl*130)

          While WindowEvent():Wend

        EndIf
        
      EndIf
      
    Wend
    
    FinishDirectory(0)
    
  EndIf
  
   		    
Repeat
 
EventID=WaitWindowEvent()
If EventID=#PB_Event_CloseWindow:End:EndIf
	
ForEver

Re: Flackern von Gadgets verhindern

Verfasst: 05.02.2012 23:44
von RSBasic
Sorry, aber dein Code ist immernoch unvollständig. Die Entfernen-Funktion fehlt inklusive die Neusetzen-Funktion für die Einträge. Man kann immernoch nicht direkt testen, um das Problem nachvollziehen zu können.

Re: Flackern von Gadgets verhindern

Verfasst: 05.02.2012 23:55
von Delle
RSBasic hat geschrieben:Sorry, aber dein Code ist immernoch unvollständig. Die Entfernen-Funktion fehlt inklusive die Neusetzen-Funktion für die Einträge. Man kann immernoch nicht direkt testen, um das Problem nachvollziehen zu können.
Es geht generell um das Geflacker - es tritt auch schon beim laden auf... der Code reicht vollkommen und demonstriert das Geflacker eindeutig *blind* ;)

Re: Flackern von Gadgets verhindern

Verfasst: 06.02.2012 12:29
von Lord
Laß doch einfach diese Zeile weg, dann "flackert" nichts:

Code: Alles auswählen

SetGadgetAttribute(#ScrollAreaGadget,#PB_ScrollArea_Y,anzahl*130)

Re: Flackern von Gadgets verhindern

Verfasst: 06.02.2012 12:44
von NicTheQuick
Ich habe den Code auch mal getestet, allerdings unter Ubuntu. Und beim Reinladen der ganzen Bilder flackert gar nichts. Ich hatte nur den Fehler gemacht ein Verzeichnis zu laden, das riesige JPGs enthält. Da war mein RAM ziemlich schnell am Limit. ^^