Registriert seit: 10. Apr 2003
Ort: Berlin
32 Beiträge
|
Source
9. Mai 2003, 14:09
Delphi-Quellcode:
type
TQuelltextBox = class(TPanel)
protected
{ Protected-Deklarationen }
procedure KeyPress(Sender: TObject; var Key: Char); virtual;
procedure KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); virtual;
Projekt : TProjekt;
public
{ Public-Deklarationen }
property OnKeyPress;
property OnKeyDown;
constructor create(AOwner: TComponent); override;
destructor destroy; override;
end;
...
constructor TQuelltextBox.Create(AOwner: TComponent);
begin
inherited create(AOwner);
OnKeyPress := KeyPress;
OnKeyDown := KeyDown;
end;
destructor TQuelltextBox.Destroy;
begin
inherited destroy;
end;
procedure TQuelltextBox.KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
case key of
VK_DELETE : Projekt.AktuelleDatei.Quelltext.DeleteZeichen(1);
VK_HOME : Projekt.AktuelleDatei.Quelltext.CursorAnZeilenanfang;
VK_END : Projekt.AktuelleDatei.Quelltext.CursorAnsZeilenende;
VK_LEFT : Projekt.AktuelleDatei.Quelltext.CursorBewegen(-1, 0);
VK_RIGHT : Projekt.AktuelleDatei.Quelltext.CursorBewegen( 1, 0);
VK_UP : Projekt.AktuelleDatei.Quelltext.CursorBewegen( 0,-1);
VK_DOWN : Projekt.AktuelleDatei.Quelltext.CursorBewegen( 0, 1);
end;
end;
procedure TQuelltextBox.KeyPress(Sender: TObject; var Key: Char);
begin
case ord(key) of
VK_BACK : Projekt.AktuelleDatei.Quelltext.DeleteZeichen(-1);
VK_RETURN : Projekt.AktuelleDatei.Quelltext.ZeilenumbruchEinfuegen;
else
Projekt.AktuelleDatei.Quelltext.InsertString(key);
end;
end;
Manchmal ist die Sicherheitskopie der einzige trost.
|
|
Zitat
|