Witam, mam wyświetlanie podpowiedzi w edytorze RichEdit w zdarzeniu OnmouseMove. Po najechaniu na tekst wyskakuje podpowiedz, problem jest taki że pokazuje tylko pierwszy, następne dopiero po kliknięciu myszką lub po ponownym najechaniu na edytor i tekst. Mam ustawioną hintpause:=100 i hinthidepause:=3000. Jaką funkcję zastosować która zakończy wyświetlanie poprzedniego hinta aby płynnie poruszając się po tekstcie wyskakiwały następne oczywiście po zwłoce hintpause:=100. Podobnie jak podpowiedzi w edytorze Delphi. Dziękuję za każdą pomoc.

- Rejestracja:ponad 13 lat
- Ostatnio:około 3 godziny
- Lokalizacja:Tuchów
- Postów:12163
@_13th_Dragon: nie sugeruj nikomu takiego badziewia. Tym bardziej że TLabel
to kontrolka graficzna, a TRichEdit
jest komponentem okienkowym, więc etykieta nigdy nie wskoczy nad edytor. Zresztą to ”rozwiązanie” i tak jest na tyle absurdalne, że komentować nie trzeba.
@loza: w klasie TApplication
są różne metody, w tym ActivateHint do manualnego pokazania dymku w określonym miejscu ekranu, a także CancelHint i HideHint, które umożliwiają jego zamknięcie w dowolnym momencie.

- Rejestracja:ponad 19 lat
- Ostatnio:2 miesiące
furious programming napisał(a):
do manualnego pokazania dymku w określonym miejscu ekranu, a także CancelHint i HideHint, które umożliwiają jego zamknięcie w dowolnym momencie.
Po czym automatyczna aktywacja hinta nie będzie działać dopóki nie zejdziesz z kontrolki.
furious programming napisał(a):
Tym bardziej że
TLabel
to kontrolka graficzna, aTRichEdit
jest komponentem okienkowym, więc etykieta nigdy nie wskoczy nad edytor.
O tym zapomniałem, dopiero teraz przypomniałeś mi czemu w podobnym rozwiązaniu użyłem TStaticEdit.
furious programming napisał(a):
Zresztą to ”rozwiązanie” i tak jest na tyle absurdalne, że komentować nie trzeba.
Poproszę o działający przykład nie absurdalnego rozwiązania, w TRichEdit trzy słowa:- "pies kot koń" po najechaniu w dymku masz tłumaczenie "dog cat horse".
Na pozostałe słowa nie reagować. Uwaga nie możesz użyć mojego "absurdalnego" rozwiązania, anie dopuścić do mrugania kontrolki.
furious programming napisał(a):
@_13th_Dragon: nie sugeruj nikomu takiego badziewia.
No cóż wyzwanie w akapicie wyżej, zobaczymy jak wygląda nie badziewie.

- Rejestracja:ponad 13 lat
- Ostatnio:około 3 godziny
- Lokalizacja:Tuchów
- Postów:12163
Wyraźnie napisałem co jest rozwiązaniem – ActivateHint
i CancelHint
.
Po to podałem dwie metody, jedną do pokazywania i drugą do chowania dymku, aby z obu skorzystać. Bo rozwiązaniem nie jest jedynie ukrywanie hinta, ale też jego pokazywanie w odpowiednim momencie. Do tego wbudowany mechanizm absolutnie się nie nadaje i zamiast doklejać protezy parcianym lepcem, należy zaimplementować w całości własny mechanizm.
Zresztą sam taki mechanizm implementowałem swego czasu na potrzeby formatowalnej etykiety, w której linków może być bądź ile, a każdy z nich posiada swój własny dymek (gdzie czas wyzwalania i okres widoczności dymku może być różny dla linków w obrębie tego samego komponentu). Działa wyśmienicie. Wykorzystany został m.in. w demówce, którą przedstawiłem w wątku Własny interfejs aplikacji – przegląd kontrolek i test działania (w załącznikach jest spakowana binarka, można się pobawić).

- Rejestracja:ponad 19 lat
- Ostatnio:2 miesiące
furious programming napisał(a):
Wyraźnie napisałem co jest rozwiązaniem –
ActivateHint
iCancelHint
.
Napisałeś owszem wyraźnie, ale najwyraźniej nie sprawdziłeś jak to zadziała.