Miganie backgroud formy

0

Witam,

Napisałem aplikację do sprzedaży POS. Wszystko działa ale jako że komputery nie mają głośniczków a beep drukarki fiskalnej jest zbyt cichy poszukuję metody na naprawdę zdrowy impuls dla obsługi o nierozpoznanym towarze.
Normalnie używane są skanery kodów kreskowych i chociaż kasjer siedzi naprzeciw monitora to nie zauważa że towar nie został wpisany na listę po błędnym zeskanowaniu oraz (o dziwo) nie słyszy pisku drukarki fiskalnej.
Pomyślałem że mógłbym mignąć tłem aplikacji kilka razy, to mogłoby zwrócić uwagę kasjera, tylko jak to fajnie zrobić?
Najfajniej byłoby użyć jakiejś optymalnej funkcji, np. FlashWindow ale nie potrafię mignąć niczym innym niż belką z captionem lub przyciskiem na pasku (być może nie ma takiej metody, lub jej nie znam) a to jest zwyczajnie zbyt mało rzucające się w oczy.

Dlatego mam prośbę, może coś podpowiecie bo głowa mnie już boli :)

Acha, nie wchodzi w grę przerywanie aplikacji z jakimś messagem, ponieważ w momencie gdy kasjer zauważy ten komunikat może już być pod koniec kasowania i później trzeba będzie powtórnie kasować towary a to kończy się najczęściej pominiętymi pozycjami. Nie wchodzi też w grę podpinanie jakiś głośniczków (chociaż to byłoby dla mnie idealne).
Zwykła zmiana kolorów backgrounda formy w funkcji timer też nie do końca mi pasuje bo te miganie jest takie jakieś nierówne (no chyba że w osobnym wątku) ale to niepotrzebne mieszanie w aplikacji która i tak już trochę urosła.

Wszyscy na forum zazwyczaj narzekają że aplikacja im miga - ja bym chciał :)

Pozdrawiam i czekam na sugestię
Robert

0

Może:

For i:=0 to 20 do
Begin
  Hide;
  Sleep(100);
  Show;
  Sleep(100);
End; 

Tylko, że belka na pasku zadań się chowa i pojawia.

0

:) dzięki, nie o to mi chodziło.

Czekam na dalsze propozycje?

0
robertz68 napisał(a):

Pomyślałem że mógłbym mignąć tłem aplikacji kilka razy, to mogłoby zwrócić uwagę kasjera, tylko jak to fajnie zrobić?
(...)
Zwykła zmiana kolorów backgrounda formy w funkcji timer też nie do końca mi pasuje bo te miganie jest takie jakieś nierówne (no chyba że w osobnym wątku) ale to niepotrzebne mieszanie w aplikacji która i tak już trochę urosła.

Jeśli chcesz, żeby np. podczas takiej zmiany koloru tła aplikacji:

For i:=0 to 10 do
  Begin
    Color:=clRed;
    Update;
    Sleep(200);
    Color:=clBtnFace;
    Update;
    Sleep(200);
  End; 

nie było dodatkowego niepożądanego mrugania (flickering, to chyba się nazywa), to odmalowanie canvasa formy musi się odbywać tuż przed kolejnym odświeżeniem obrazu na monitorze przez kartę graficzną (kiedyś na tym forum ktoś podawał taki kod), wtedy ładnie się przełącza kolor (chodzi o zsynchronizowanie zmiany koloru z kartą graficzną).

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