Strona 1 z 1

Odświeżanie multilistbox'a

: 18 lip 2007 06:37
autor: gryps
Witam

Przykład:
mam aplikacje z kontrolką multilistbox, generuje dla niej 1000 wpisów (wierszów) po dwie kolumny. Następnie chce zmienic kolor wszsytkich lini na inny. Robię to w pętli, ustawiając aktywną komókę i zmieniajć kolor.

Taka operacja zajmuje prawie 7 sekund!

Pytanie:
Czy istnieje szybszy sposób na przerysowanie tej kontrolki?

Pozdrawiam

Re: Odświeżanie multilistbox'a

: 18 lip 2007 06:52
autor: Mikrobi
PNSD

Re: Odświeżanie multilistbox'a

: 18 lip 2007 07:05
autor: bogdani
Witaj

Możesz spróbować ukryć kontrolkę (Hidden) i wykonać operację, a po jej zakończeniu znowu ustawić status kontrolki jako widoczna.

Przy generowaniu wykresów, taki trik pozwalał na znaczne przyspieszenie operacji, bo nie było już konieczne odświeżanie kontrolki.

bogdani

PS. PNSD - Pokaż Nam Swój Kod

Re: Odświeżanie multilistbox'a

: 18 lip 2007 07:49
autor: gryps
Witam

Już dołączam kod. Rozwiązanie z ukrywaniem kontroli działa super poza jednym: fatalnie wygląda jak kontrolka gaśnie i pojawia sie. Czegoś takiego raczej być nie może.

Pozdrawiam

Re: Odświeżanie multilistbox'a

: 18 lip 2007 09:39
autor: Mikrobi
Jest metoda na PEWNE przyśpieszenie, ale nie działa błyskawicznie.
Poprawilem przy okazji operację na węzłach - powinno się ich uzywać jak najmniej, bo każda operacja na węźle to: kopiowanie kontrolki do bufora, modyfikacja i kopiowanie z bufora,
Obrazek
ekhm.... wlaśnie znalazlem szybsze rozwiązanie 8)
Obrazek

Re: Odświeżanie multilistbox'a

: 18 lip 2007 10:00
autor: gryps
Wielkie dzięki Mikrobi, 200 ms to jest prawie błyskawicznie :lol: Nie wydaje mi sie żeby była szansa uzyskania czegoś więcej.

Pozdrawiam i jeszcze raz dzięki.

A co do drugiej metody to ... nie mam pytań :D
Bomba!!! Wielkie dzięki.