[Delphi] przesuwany napis

0

heloł [cya]

mam problem
jak zrobić aby tekst przesuwał się po canvas'ie ale tak, żeby nie haczył się kiedy np. przesunę kursorem na butony systemowe aplikacji, albo na coś innego

obsłużyłem to przez timer a w nim wykorzystałem szerokość tekstu w pikselach canvas.textwidth('') i co 0.0025 s przesuwałem o jeden piksel w lewo jednak przy najechaniu myszką na butony [minimize, maximize, close] - wcale ich nie wciskając przesuwanie się zacinało [???]
czemu - nie wiem

może powinienem wykorzystać jakiś inny Timer - pomóżcie

(nie chcę wykorzystywać komp. z RX -chcę skorzystać z canvas)

dzięki za re
[browar]

0

canvas nie jest dobrym rozwiazaniem, jest strasznie wolny, sprobuj wykorzystac do tego komponent label; przesuwaj go o pixel w lewo
label1.caption:='jakis tekst';
label1.left:=500;

a potem tylko dec (label1.left);
if label1.left+label1.width=0 then label1.left:=form1.width

powodzenia

--
Lardux

0

Canvas jest za wolny, a label szybki? Hehe... To wrzuć sobie 40 labeli na formę a potem 40 razy rysuj tekst na canvasie. Które będzie przycinać i migać? Poza tym mam zastrzeżenia do: dec(label1.left). Raczej nie można jako argument dec() podać własciwości komponentu.

A wracając do problemu:
slaw: pokaż kod, jaki wykorzystujesz do rysowania. Może coś się da zoptymalizować :)

--

Delphi 6

Pozdrówka

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