(Almost) finished the 'custom triangle view control'...

Well, actually it's just a workaround to intercept keystrokes...
It still can't even catch arrow-keys, looks like I missed something... :-\
This commit is contained in:
zueuk
2005-09-15 14:23:32 +00:00
parent 711742df89
commit 09e406a927
5 changed files with 261 additions and 247 deletions

View File

@ -0,0 +1,62 @@
unit CustomDrawControl;
interface
uses
Classes, Controls, Messages, Windows, Graphics;
type
TCustomDrawControl = class(TCustomControl)
private
FOnPaint: TNotifyEvent;
procedure WMEraseBkgnd(var Message: TWMEraseBkgnd); message WM_ERASEBKGND;
// procedure WMSetFocus(var Message: TWMSetFocus); message WM_SETFOCUS;
// procedure WMKillFocus(var Message: TWMKillFocus); message WM_KILLFOCUS;
protected
public
procedure Paint; override;
property OnPaint: TNotifyEvent read FOnPaint write FOnPaint;
property Canvas;
property OnDblClick;
property OnKeyDown;
// property OnKeyPress;
// property OnKeyUp;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnMouseWheel;
// property OnMouseWheelDown;
// property OnMouseWheelUp;
property OnEnter;
property OnExit;
end;
implementation
procedure TCustomDrawControl.WMEraseBkgnd(var Message: TWMEraseBkgnd);
begin
Message.Result := 1;
end;
{
procedure TCustomDrawControl.WMSetFocus(var Message: TWMSetFocus);
begin
Invalidate;
end;
procedure TCustomDrawControl.WMKillFocus(var Message: TWMKillFocus);
begin
Invalidate;
end;
}
procedure TCustomDrawControl.Paint;
begin
if Assigned(FOnPaint) then FOnPaint(Self);
end;
end.