| Delphi Tips & Tricks | softsale > Delphi Tips & Tricks |
| < poprzednia rada | następna rada > |
Jak wyświetlić długą zawartość listboxa przy użyciu hinta?
Niekiedy listbox zawiera teksty , które nie mieszczą się przy określonej szerokości listboxa. Do wyświetlenia takiej długiej zawartości odpowiedniego elementu można użyć hinta obsługując zdarzenia OnMouseMove listboxa.Użyto tu SendMessage z parameterem LB_ITEMFROMPOINT. Aplikacja wysyła ten komunikat aby otrzymać indeks elementu najbliższego określonemu punktowi ( wspólrzęne względem lewego, górnego rogu ) listboxa. Należy pamiętać o ustawieniu własności ShowHint na true. procedure TForm1.ListBox1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); var pierwszy_indeks : Integer ; begin with ListBox1 do begin pierwszy_indeks:=SendMessage(Handle,LB_ITEMFROMPOINT,0,MakeLParam(x,y)); if (pierwszy_indeks >= 0) and (pierwszy_indeks <= Items.Count) then Hint := Items[pierwszy_indeks] else Hint := '' end; end; Ilustruje to przykład tip31.zip |
|
SOFTSALE - Oprogramowanie i Szkolenia softsale@softsale.com.pl 03-565 Warszawa , ul. Borzymowska 43 lok. 301C tel/fax:4084840,GSM:0607612428 |