Alphabetical index bar for quick navigation in long lists (like iOS Contacts).
LetterSelector1.Align := alRight; LetterSelector1.Width := 30; LetterSelector1.ShowPopupHint := True; LetterSelector1.HapticFeedback := True; procedure TForm1.LetterSelector1Change(Sender: TObject); begin ScrollContactsToLetter(LetterSelector1.SelectedLetter); end;
// Include numbers and special character LetterSelector1.Letters := 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789#'; // Only vowels LetterSelector1.Letters := 'AEIOU';
procedure TForm1.ScrollToLetter(Letter: Char);
var
I: Integer;
begin
for I := 0 to ListView1.Items.Count - 1 do
begin
if UpperCase(ListView1.Items[I].Text)[1] = Letter then
begin
ListView1.ScrollToItem(I);
Break;
end;
end;
end;
procedure TForm1.LetterSelector1Change(Sender: TObject);
begin
ScrollToLetter(LetterSelector1.SelectedLetter);
end;
LetterSelector1.Orientation := Horizontal; LetterSelector1.Align := alTop; LetterSelector1.Height := 40;
OnChange - Selected letter changedOnLetterClick - Letter clicked (provides Letter: Char)OnDragStart - User begins draggingOnDragEnd - User stops dragging