Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Krotność obliczania mi. wyglądu komponentów

Ostatnio zmodyfikowano 2011-10-19 14:33
Autor Wiadomość
akwes
Temat założony przez niniejszego użytkownika
Krotność obliczania mi. wyglądu komponentów
» 2011-10-19 13:00:53
Nie wiedziałem jak sformułować temat, i nie jestem też do końca pewien kategorii :P Ale przyjmując że pytam o rozwiązania w stylu C++ to kategoria będzie pasować (w różnych językach są różne triki i smaczki).

Więc tak. Opiszę to na przykładzie, dotyczy to zarówno .NET jak i VCL.

Kiedy pisałem jakieś program graficzny w Visual Studio albo Borland Bulider, to zmiana samej zmiennej powodowała zmianę na ekranie.

C/C++
Label1->Top += 200;
Label1->Width = 30;

Bez wywoływania funkcji.

Czy to oznacza że wygląd, pozycja etc. jest obliczany ciągle? Bo widzę tylko dwa scenariusze

1. Jest obliczane za każdym razem przed wyświetleniem.
2. Komponent zawiera (aczkolwiek nie widać żeby tak było po zawartości klasy) w tym przypadku OldTop i OldWidth i porównuje je ze sobą (czyli komponent waży 2x więcej niż powinien i ogólnie ble).

Chyba że jest zrobiony jakiś kolejny trik, którego nie jestem świadom? Bo o ile obliczanie rozmiaru i pozycji jest dość trywialne o tyle liczenie ciągle gdzie Label1 ma być justowany do prawej w poziomie, i do dół w pionie to trochę więcej obliczeń. 
P-42306
DejaVu
» 2011-10-19 14:27:44
Poczytaj o przeciążaniu operatorów. Przykład: » standard C++ / Przeciążanie operatorówoperator->. Wewnątrz operatora możesz wywołać funkcje. Przykładowo dla operatora dodawania można dodać najpierw wartość do zmiennej, a potem wywołać aktualizację pozycji okna. Ty nie widzisz przy zapisie, że ten proces zachodzi ale zachodzi.
P-42310
akwes
Temat założony przez niniejszego użytkownika
» 2011-10-19 14:33:00
Faktycznie :P Nie pomyślałem o tym. A przecież sam kiedyś za przykładem Grębosza ukryłem w [] operacje dyskowe.

Dzięki ;D 
P-42311
« 1 »
  Strona 1 z 1