Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem DELPHI - scrollbox, Timage a zmena velkosti kresliacej plochy za behu programu

nazdar. potreboval som plochu na kreslenie s premenlivou velkostou, tak som dal do scrollboxu image a na jeho canvas kreslim. ale ak chcem nieco nakreslit na okraj, tak potrebujem, aby sa ta kresliaca plocha v tom scrollboxe zvacsila(scrollbox ostane taky velky, ako je - cize len sa scrollbary zmensia a bude sa tam dat pohybovat).
Najprv som to robil tak, ze som puzival na zvacsenie prikaz
aObrazok.SetBounds(0, 0, tmpSir, tmpVys)
ale to mi potom aj spravilo okolo mojho bieleho platna este sede okraje (na jednej strane dost velke) a to mi vadilo.
Potom som nejak nahodou prisiel na to, ze ked som pouzil
aObrazok.Picture.Bitmap.Width:= tmpSir;
aObrazok.Picture.Bitmap.Height:= tmpVys;
aObrazok.SetBounds(0, 0, tmpSir, tmpVys);
tak to islo OK.
Ale teraz, ked som nieco mazal mimo zobrazovanu plochu(cize bolo nutne posuinut posuvnik, aby som ten utvar videl), tak sa mi to stalo zas, ale na opacnej strane.
Zmazalo mi to ten objekt, zobrazilo mi zaciatok kresliaceho platno (vratilo do povodnej polohy), ale posuvnik nebol az celkom na kraji vlavo a ked som ho tam posunul ja, tak tam bola ta moja seda dostsiroka plocha, ktoru tam nechcem mat.
Uz druhy den sa s tym morim...
Prosim, kto s tym pracujete, tak mi poradte, ako sa pracuje s TImage a vsetkym,co s tym suvisi, lebo iba s tym zacinam a mam dost problemov.
Mimochodom, ak to pomoze, vykreslujem tam pomocou rectangle, lineTo a pisem text pomocou textOut. porpitom menim farbu brush, style, atd
Dakujem

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
no v podstate som sa snazil to vsetko robit objektovo.... tak by som mohol vyskusat aj ten paintbox.… nový
marek 12.03.2006 12:41
marek
Paintbox nedrzi nic napevn nakresneneho. Na PaintBox se kresli pouze v jeho metode OnPaint a sam se… poslední
Jan Fiala 12.03.2006 13:54
Jan Fiala

Paintbox nedrzi nic napevn nakresneneho. Na PaintBox se kresli pouze v jeho metode OnPaint a sam se stara o prekresleni, pokud je to treba.

Takze predstava by byla asi takova:
vytvarim si seznam objektu, ktere chci nakreslit. Novy objekt pridam do seznamu a zavolam PaintBox.Paint (Refresh, Invalidate, ...)
V metode PaintBox.OnPaint budu mit cyklus, ktery projde seznam objektu a vykresli je.

Zpět do poradny Odpovědět na původní otázku Nahoru