Strona 1 z 1
Płynne przesuwanie tekstu w String Indicator
: 25 sty 2013 14:53
autor: mikema72
Witam. Zakładam nowy wątek bo nie znalazłem nigdzie takiego. Chodzi o PŁYNNE przesuwanie pewnej z góry wczytanej ilości tekstu (np 2 strony A4) w kontrolce typu String. Wiem, że da się to zrobić za pomocą Text.ScrollPos ale tam ustawia się tylko skokową (tzn co jedną linię) zmianę w górę lub w dół. Moim problemem jest to że taki tekst będzie służył do czytania opisów z ekranu w trakcie działania pewnego urządzenia i takie skokowe przesuwanie strasznie źle się czyta (patrz. nie da się przeczytać
. Jak zrobić taki przesuwany PŁYNNIE tekst (taki jak nieraz widać w oknach na stronach www). Może go zamieniać na jakiś obraz albo coś i dopiero przesuwać?
Zaznaczam że tekst nie jest edytowalny i z góry wiem jak ma wyglądać.
Płynne przesuwanie tekstu w String Indicator
: 25 sty 2013 16:04
autor: skrzatswat
Na kontrolce typu string nie da się płynności uzyskać praktycznie w żaden "tradycyjny" sposób. Problem bardzo fajnie rozwiązuje kontrolka 2D Picture. W palecie Programming-> Graphics&Sounds->Picture Functions masz kilka Subvi pozwalających na rysowanie tekstu w tej kontrolce. Ja podobny problem rozwiązałem właśnie w taki sposób.
Re: Płynne przesuwanie tekstu w String Indicator
: 25 sty 2013 16:26
autor: PiDi
Ok, w "tradycyjny" sposób się nie da, dlatego proponuję straszliwy pomysł, który mi wpadł: wykorzystać przewijanie panelu, które działa płynnie
Przykład:
To by się dało zamknąć w x-control nawet
Re: Płynne przesuwanie tekstu w String Indicator
: 26 sty 2013 00:11
autor: mikema72
Dzieki za pomysly. Sprawdze oba.
. Niestety przez weekend nie mam dostepu do lv.
Re: Płynne przesuwanie tekstu w String Indicator
: 26 sty 2013 21:05
autor: smiga
Coś tam się zawsze da.
Przewijany String Indicator w załączniku - poeksperymentuj z ustawieniami ... może coś fajnego z tego wyjdzie ;)
Re: Płynne przesuwanie tekstu w String Indicator
: 27 sty 2013 14:05
autor: mikema72
Sprawdziłem wszystkie pomysły i wydaje mi się że najbliżej potrzeb mojego rozwiązania jest pomysł z Kontrolką Picture. Ten tekst musi jeszcze mieć możliwość przewijania w trakcie czytania go przez użytkownika. Czyli jeżeli użytkownik chce zatrzymać tekst to najeżdża kursorem i sam przesuwa góra-dół. Załatwiłem to w ten sposób że tworzę taki niby obraz z mojego całego tekstu z pewnymi pustymi wierszami na początku i końcu tekstu. i potem wyświetlam ten cały obraz na Picture. Przewijanie załatwiam w bardzo prosty sposób dodając do suwaka (property Origin- Top) pewną ilość np. +1 od wartości aktualnej. A na końcu tekstu zaczynam od Origin.Top = 1 i wszystko działa pięknie. Dodatkowo jeżeli użytkownik zmieni pasek przewijania w górę lub w dół to po zaprzestaniu przewijania tekst "jedzie" dalej od aktualnej pozycji. Mogę też ustawiać różne kolory tekstów, wyrównania każdej linii itp. Problem jedyny to jak ten cały tekst wyrównać do lewej i prawej jednocześnie? Do lewej lub prawej lub centrum to nie problem ale jak jednocześnie???
Re: Płynne przesuwanie tekstu w String Indicator
: 28 sty 2013 19:48
autor: mikema72
Widzę że brak pomysłów. Załatwiłem to u siebie na razie trochę prościej. Zamiast wczytywać linijki po kolei i mieć problem z justowaniem a potem jak się okazało z wklejaniem jeszcze paru malutkich obrazków w tekst, zrobiłem całość jako obrazek. Wyjustowałem, powklejałem wszystko do środka, zapisałem jako png i wczytałem do Picture i działa super. Trochę ominąłem problem ale jak dla mnie sprawdza się znakomicie