Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

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

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

  Alt 28. Jan 2005, 09:20
Hi Nogge,

wenn es dir nur in einer Unit darum geht, auf die Änderung des TopIndex zu reagieren,
würde ich dir empfehlen, die Klasse TListBox zu hacken:
Delphi-Quellcode:
interface
  TListBox = class(StdCtrls.TListBox)
  private
    function GetTopIndex: Integer;
    procedure SetTopIndex(Value: Integer);
  public
     property TopIndex: Integer read GetTopIndex write SetTopIndex;
  end;

  //hier kommt deine TForm-Klasse...

implementation

function TListBox.GetTopIndex: Integer;
begin
  Result := SendMessage(Handle, LB_GETTOPINDEX, 0, 0);
end;

procedure TListBox.SetTopIndex(Value: Integer);
begin
  if GetTopIndex <> Value then
    SendMessage(Handle, LB_SETTOPINDEX, Value, 0);
  // hier dein OnTopIndex-Event
end;
Dann werden in dieser Unit die von dir implementierten Methoden ausgeführt.

Wenn du allerdings generell diese Funktionalität benutzen willst,
dann wäre es besser, wenn du eine neue Komponente erstellen würdest.

MfG
Stevie
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

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