Płynne przesuwanie tekstu w String Indicator

Sprawy związane z interfejsem użytkownika - kontrolki, wskaźniki, wyświetlacze, wykresy oraz inne zagadnienia tego typu...
mikema72
Posty: 72
Rejestracja: 09 sty 2006 00:00
Wersja środowiska: LabVIEW 2011
Lokalizacja: Gliwice

Płynne przesuwanie tekstu w String Indicator

Post 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ć.
CLAD, LabVIEW 6.0 -> LabVIEW 2013
Awatar użytkownika
skrzatswat
Posty: 21
Rejestracja: 13 lut 2012 16:26
Wersja środowiska: LabVIEW 2011

Płynne przesuwanie tekstu w String Indicator

Post 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.
Obrazek
PiDi
Posty: 641
Rejestracja: 31 gru 2010 01:36
Wersja środowiska: LabVIEW 2017
Lokalizacja: Katowice

Re: Płynne przesuwanie tekstu w String Indicator

Post 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 :D
Przykład:
Scroll.vi
(12.87 KiB) Pobrany 498 razy
To by się dało zamknąć w x-control nawet :-?
ObrazekObrazekObrazekObrazek
mikema72
Posty: 72
Rejestracja: 09 sty 2006 00:00
Wersja środowiska: LabVIEW 2011
Lokalizacja: Gliwice

Re: Płynne przesuwanie tekstu w String Indicator

Post autor: mikema72 »

Dzieki za pomysly. Sprawdze oba. :) . Niestety przez weekend nie mam dostepu do lv.
CLAD, LabVIEW 6.0 -> LabVIEW 2013
Awatar użytkownika
smiga
Administrator
Posty: 817
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2019
Lokalizacja: Słupsk

Re: Płynne przesuwanie tekstu w String Indicator

Post autor: smiga »

Coś tam się zawsze da. :)
Przewijany String Indicator w załączniku - poeksperymentuj z ustawieniami ... może coś fajnego z tego wyjdzie ;)
Załączniki
string.ctl
2011
(3.59 KiB) Pobrany 404 razy
scroll_string.vi
2011
(8.04 KiB) Pobrany 411 razy
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek
Pomogłem ... postaw kawę: https://buycoffee.to/smiga
mikema72
Posty: 72
Rejestracja: 09 sty 2006 00:00
Wersja środowiska: LabVIEW 2011
Lokalizacja: Gliwice

Re: Płynne przesuwanie tekstu w String Indicator

Post 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???
CLAD, LabVIEW 6.0 -> LabVIEW 2013
mikema72
Posty: 72
Rejestracja: 09 sty 2006 00:00
Wersja środowiska: LabVIEW 2011
Lokalizacja: Gliwice

Re: Płynne przesuwanie tekstu w String Indicator

Post 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 :) :D
CLAD, LabVIEW 6.0 -> LabVIEW 2013
ODPOWIEDZ