Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
Delphi 12 Athens
|
AW: Memo Scrollbar Events
20. Aug 2012, 19:02
Auf die Schnelle aus dem Hut:
Delphi-Quellcode:
type
TScrollChangeEvent = procedure(Sender: TObject;
const ScrollCode, Pos: SmallInt) of object;
TMemo = class(StdCtrls.TMemo)
private
FOnHorzScroll: TScrollChangeEvent;
FOnVertScroll: TScrollChangeEvent;
procedure WMHScroll(var Msg: TWMHScroll); message WM_HSCROLL;
procedure WMVScroll(var Msg: TWMVScroll); message WM_VSCROLL;
public
property OnHorzScroll: TScrollChangeEvent read FOnHorzScroll write FOnHorzScroll;
property OnVertScroll: TScrollChangeEvent read FOnVertScroll write FOnVertScroll;
end;
TForm1 = class(TForm)
Memo1: TMemo;
procedure FormCreate(Sender: TObject);
private
{ Private-Deklarationen }
procedure DoOnHorzScroll(Sender: TObject; const ScrollCode, Pos: SmallInt);
procedure DoOnVertScroll(Sender: TObject; const ScrollCode, Pos: SmallInt);
public
{ Public-Deklarationen }
end;
...
procedure TMemo.WMHScroll(var Msg: TWMHScroll);
begin
if Assigned(FOnHorzScroll) then
FOnHorzScroll(self, Msg.ScrollCode, Msg.Pos);
inherited;
end;
procedure TMemo.WMVScroll(var Msg: TWMVScroll);
begin
if Assigned(FOnVertScroll) then
FOnVertScroll(self, Msg.ScrollCode, Msg.Pos);
inherited;
end;
procedure TForm1.DoOnHorzScroll(Sender: TObject; const ScrollCode,
Pos: SmallInt);
begin
ShowMessage('Horizontal: ' + IntToStr(Pos));
end;
procedure TForm1.DoOnVertScroll(Sender: TObject; const ScrollCode,
Pos: SmallInt);
begin
ShowMessage('Vertikal: ' + IntToStr(Pos));
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.OnHorzScroll := DoOnHorzScroll;
Memo1.OnVertScroll := DoOnVertScroll;
end;
Detlef "Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
|
|
Zitat
|