Hint w ka?żdym programie

0

Czy mogłby mi ktoś udzielić porady jak w każdym programie wyświetlić własnego hinta nad określonym elementem. Konkretnie chodzi mi o wyświetlenie hinta nad konkretnym tekstem a w praktyce wyświetlenie np. Idea, Era lub Plus jeżeli np. pod kursorem znajduje się ciąg cyfr który zaczyna sie od 605 to pokazuje sie hint Plus, itd.

0

W praktyce prawie każdy komponent w Delphi ma właściwość Hint i tam możesz to wpisać,. Więc w czym problem?

0

Chodzi o coś innego. W kazdym programie pod kursorem czyli np. klikniesz start -> uruchom -> wpiszesz 693683935 najedziesz na to kursorem i hint bedzie "plus" ..

0

Full kodzik, tylko nie wiem (w Delphi rzadko piszę), jak na początku DisplayHint sprawdzić, czy aktualnie wyskakujący hint jest od naszego Edit1 czy od innego obiektu.

I oczywiście włącz ShowHint dla Edita :-)

procedure TForm1.DisplayHint(Sender: TObject);
begin
 if Length(Edit1.Text) = 9 then begin
  if Edit1.Text[1] = '6' then begin                            //era lub plus
   if (Edit1.Text[2] = '0') or (Edit1.Text[2] = '9') then      //era lub plus
    if (StrToInt(Edit1.Text[3]) and 1) = 1 then                //plus
     Edit1.Hint := 'Plus'
    else                                                       //era
     Edit1.Hint := 'Era';
  end else
   if (Edit1.Text[1] = '5') and ((Edit1.Text[2] = '0') or (Edit1.Text[2] = '9')) then    //idea
    Edit1.Hint := 'Idea';
 end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 Application.OnHint := DisplayHint;
end;
0

Ale mu chodzi o inny program...

Mozesz shookowac wiadomosc MOUSEMOVE (nie pamietam aliasu), gdy taka przyjdzie odczytujesz edita (tez na to jest wiadomosc) i w jakis sposob wyswietlasz hinta Application.ShowHint, albo cos innego...

0

Wreszcie Wolverine mnie zrozumiał tylko jak byś mogł troche bardziej to rozwinać ...

0

WM_GETTEXT
WM_MOUSEMOVE

F1+Hooks

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