Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.008 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#8

Re: Listbox: Wie kann ich auf Änderung des TopIndex' reagier

  Alt 31. Jan 2005, 17:34
Ok, hier ein kleiner Denkanstoß, wie man das mit den Tasten regeln könnte:
Delphi-Quellcode:
procedure TListBoxEx.WMKeyDown(var Message: TWMKey);
var
  ItemCount: Integer;
  ScrollPos: Integer;
begin
  ScrollPos := 0;
  ItemCount := ClientHeight div ItemHeight;
  if Assigned(FOnScroll) then
    case Message.CharCode of
    VK_DOWN: if Succ(ItemIndex - TopIndex) = ItemCount then
      FOnScroll(Self, scLineDown, ScrollPos);
    VK_UP: if ItemIndex = TopIndex then
      FOnScroll(Self, scLineUP, ScrollPos);
    VK_HOME: if TopIndex > 0 then
      FOnScroll(Self, scTop, ScrollPos);
    VK_END: if (Count - TopIndex) > ItemCount then
      FOnScroll(Self, scBottom, ScrollPos);
  end;
  inherited;
end;
Diese Methode ist noch nicht vollständig (Page-Up, Page-Down) und
feuert auch noch nicht richtig, aber das dürfte dir schonmal helfen.

MfG
Stevie

Jippie, mein 1000. Beitrag!!! *g*
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat