zmiana rozmiaru formy z obrazkiem - zmiana sposobu

0

czesc... heh no nie mam szczescia do pytan :D
moze takie cos by ktos wiedzial?
mam forma a na Niej obrazek Align - alClient no i Stretch = True;
i teraz jak zmieniam rozmiar formy (dalem w onresize zmiane rozmiaru kontrolek) strasznie przymulasto zmieniaja sie rozmiary kontrolek... sama forma z obrazkiem wmiare plynnie zmienia rozmiar ale jak jest tam Tmemo to koniec... przymula na maxa... DoubleBuffered := True...

W zwiazku z czym mam pytanie... czy jest taka mozliwosc ze jak klikne w miejscu gdzie zmienia sie rozmiar formy... zamiast od razu zmienic rozmiar pojawi sie powiedzmy taka ramka.... linia pozioma z dolnego brzegu formy i pionowa z prawego.... i przesuwaly by sie razem z myszka... a forma zmienilaby dopiero rozmiar po puszczeniu klawisza.. na pewno w niejednym programie to widzieliscie (np: przy zmianie rozmiaru cliparta w MS Word) ma ktos pomysl? albo nie wiem... jak inaczej moge rozwiazac problem ten ze strasznie zamulasto zmienia sie rozmiar formy i kontrolek? :/

0

Wiesz.. najlepiej we Właściwościach ekranu w efektach Odznacz "Pokaż zawartość okna podczas przeciągania" :P

a tak poważnie to ja bym chyba spróbował tak, że bym wyłączył alClient i dodał jakiś timer a w zdarzeniu OnResize Formy niech go włącza i ustawia jakąs tam zmienną na np. 5 .. w timerze niech odejmuje od tej zmiennej.. gdy zmienna dojdzie do 0 niech ustawia rozmiar obrazka na rozmiar Formy i niech sam się wyłącza bo po co ma działać skoro jest już nie potrzebny ;)
W rezultacie zmieni się rozmiar obrazka dopiero gdy przez jakiś czas nie zmieniasz rozmiaru formy.
Mniej więcej tak by wyglądała moja metoda, kto wie, może by się sprawdziła :D

przy okazji.. nie wiem czy jest jakiś inny, bardziej.. "programmer friendly" sposób odliczania .. jeśli tak,chętnie go poznam? ;P

0

gdyby byla mozliwosc wykrycia momentu rozpoczecia i zakonczenia zmiany rozmiaru formy to ok :) a timer to nie za bardzo wg mnie...

0

Jest. Forma otrzymuje komunikat WM_COMMAND lub WM_SYSCOMMAND z odpowiednimi parametrami.

0

albo w OnResize formy zapamietujesz czas zdarzenia
a w timerze co jakis czas sprawdzasz czy od tego czasu minelo juz iles tam,
i jesli minelo to zmieniasz rozmiar obrazka

0

no a te kreski by sie nie dalo co mowie? wiecie o co chodzi.... hmmmm jakis canvas ? onmouseup i onmousedown i wtedy zmiana rozmiaru a tak to canvas pokazuje sie przy onresize i gdzie ustawiany jest rezise := False;

moze tak by sie dalo?

0

a gdzie TY masz canvesa za formą?? po pulpicie chcesz rysować?? niby się da ale wiesz :/ ...
ja się zgadzam z Johny_Morfina
OnResize i Timerek załatwi sprawę :D po co się będziesz bawił w rysowanie :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1