[GUI] Lahme Panels

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

Suco-X

Betreff: [GUI] Lahme Panels

BeitragSo, Dez 11, 2005 16:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi.
Vielleicht hat ja noch jemand Erfahrungen mit Panels in anderen sprachen, doch ich find die Dinger viel zu langsam.

Hier der Code
Code: [AUSKLAPPEN]

Strict


Global Liste:TList = New TList


Local Window:TGadget = CreateWindow("Hallo",100,100,400,400)

Local Panel:TGadget = CreatePanel(0,0,ClientWidth(Window), ClientHeight(WIndow), window,PANEL_ACTIVE)
SetGadgetLayout Panel,1,1,1,1


For Local i:Int = 0 Until 100
   AddPanelItem(Panel, Liste)
Next


Repeat
   
   WaitEvent()
   
   
   Select EventID()
   
      Case EVENT_KEYDOWN
         If EventData() = KEY_ESCAPE
            End
         EndIf
         
   
      
      Case EVENT_WINDOWSIZE
         SetPositions(Panel, Liste)
      
      Case EVENT_WINDOWCLOSE
         End
      
   
      Case EVENT_MOUSEENTER
      
         For Local TempObject:TGadget = EachIn Liste
         
            If EventSource() = TempObject
               SetGadgetColor TempObject,255,0,0
            EndIf
            
         Next

      Case EVENT_MOUSELEAVE
      
         For Local TempObject:TGadget = EachIn Liste
         
            If EventSource() = TempObject
               SetGadgetColor TempObject,0,0,255
            EndIf
            
         Next

   End Select
   
Forever
End


Function AddPanelItem(Panel:TGadget, List:TList)
   Local TempObject:TGadget = CreatePanel(0,0,32, 32, Panel, PANEL_ACTIVE|PANEL_BORDER)
   SetGadgetLayout TempObject,1,0,1,0
   SetGadgetColor TempObject,0,0,255
   List.AddLast(TempObject)
End Function


Function SetPositions(Panel:TGadget, List:TList)
   Local X:Int = 2
   Local Y:Int = 2
   
   For Local TempObject:TGadget = EachIn List
      SetGadgetShape TempObject, x, y, 32, 32
      X:+34
      If x+32>ClientWidth(Panel)
         X = 2
         Y:+34
      EndIf      
   Next
End Function


Wie man sieht, der Aufbau geht nur sehr langsam von statten und beim Resizen des Fensters lahmt die Sache auch rum.
Könnte das ein Bug sein oder muss ich auf ein Canvas umsteigen?
Mfg Suco
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB

rema

BeitragMo, Dez 12, 2005 7:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Wen du mal den Qellcode dir anschaust, so ist Panel im Prinizip gleich ein Canvas. Also, bringt die Umstellung leider nichts. Ich denke mal, wens unter Winodws so lahmt, so hat es noch einen Bug.

Suco-X

Betreff: ........

BeitragMo, Dez 12, 2005 12:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit "Canvas nehmen", meinte ich eigentlich einen großen Canvas, auf dem ich die Icons dann mit DrawImage zeichne.
Mal bei den Amis anfragen, ob die mehr dazu wissen.
Mfg Suco
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB

rema

BeitragDi, Dez 13, 2005 7:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Habe auch schon mit Canvas experementiert. Ist ganz schön CPU-lastig. Ab 60fps mit nur einfacher Textausgabe kommt mein Centrino schon auf 100%, obwohl vollwertige Grafikkarte drinnen ist mit eigenem GRam (ohne SharedMemory).

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group