U jednom od prošlih priloga mogli ste pročitati o tome kako da izvedete horizontalni klizač kod kontrole ListBox, u slučaju da je sadržaj preširok (po default-u Listbox ne poseduje horizontalni klizač). Ovaj tekst se bavi istim problemom, ali je rešenje malo drugačije. Predstavićemo vam kratak programski kod koji će predugačke stavke Listbox-a ispisati u pravougaonim oblačićima (engl. Hints), i to u momentu kada korisnik programa prelazi pokazivačem miša preko date stavke.
Pre nego što ubacite sledeći kod u događaj „OnMouseMove“ Listbox-a, uverite se da je atribut „ShowHints“ postavljen na True. Kod je sledeći (rezultat možete videti na slici):
procedure TForm1.ListBox1MouseMove
(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
listaIndex : Integer ;
begin
with ListBox1 do begin
lisatIndex:=SendMessage(Handle,
LB_ITEMFROMPOINT,
0, MakeLParam(x,y));
if (listaIndex >= 0) and
(listaIndex <= Items.Count) Then
Hint := Items[listaIndex]
else
Hint := ''
end;
end;
Pratite Krstaricu na www.krstarica.com