不可能吧?
消息是通过句丙传播的,除非你设置的句丙是form1或者application
它向下扩散到其他构件了
消息是通过句丙传播的,除非你设置的句丙是form1或者application
它向下扩散到其他构件了
解决方案 »
- VC编写的DLL函数接口,Delphi调用出错,请指教
- 简单问题,webBrowser打开网页是否无法实现自动滚屏?
- 托盘图标为什么在程序退出后还不消失?
- ★有没有现在在深圳,需要找工作的朋友,进来看看吧★
- 在线:为什么接收到的数据与发出去的不符,而且还出现内存访问错误(使用TSeverSocket与TClientSocket)
- 送分(很简单的问题)
- 连接interbase数据库的BDE路径怎么写啊?
- 300分求教把edit和dblookupcombobox合并成一个组件,有源码最好了.
- 怎样能够去掉strlcopy()后的#0
- 想按Esc键关闭当前模式窗口!如何做?
- 麻烦大家提供一个怎样制作屏幕保护程序的原程序?
- 读入文件问题
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls,grids;type
TMyPanel = class(TPanel)
private
{ Private declarations }
FDown:boolean;
FPaintStyle:Integer;
FKind:Integer;
FOnMouseEnter: TNotifyEvent;
FOnMouseLeave: TNotifyEvent;
OldWndProcPnl: TWndMethod;
FOnPaint: TNotifyEvent;
procedure SetDown(Value:boolean);
procedure SetPaintStyle(Value:Integer);
procedure SetKind(value:Integer);
protected
{ Protected declarations }
procedure CMMouseEnter(var Message: TMessage); message CM_MouseEnter;
procedure CMMouseLeave(var Message: TMessage); message CM_MouseLeave;
procedure Paint;override;
public
{ Public declarations }
procedure DrawBright(ACanvas:TCanvas;Arect:trect);
procedure DrawGray(ACanvas:TCanvas;Arect:trect);
procedure DrawCenterBright(ACanvas:TCanvas;Arect:trect);
procedure DrawCenterGray(ACanvas:TCanvas;Arect:trect);
procedure DrawCancel(ACanvas:TCanvas;Arect:trect);
procedure DrawClear(ACanvas:TCanvas;Arect:trect);
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
{ Published declarations }
property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
property Onpaint:TNotifyEvent read FOnPaint write FOnpaint;
Property IsDown:boolean read FDown write SetDown;
property PaintStyle:Integer read FPaintStyle write SetPaintStyle;
property Kind:Integer read FKind write SetKind;
end;procedure Register;implementationprocedure Register;
begin
RegisterComponents('Samples', [TMyPanel]);
end;{ TMyPanel }
procedure TMyPanel.CMMouseEnter(var Message: TMessage);
begin
if Assigned(FOnMouseEnter) then FOnMouseEnter(self);
end;procedure TMyPanel.CMMouseLeave(var Message: TMessage);
begin
if Assigned(FOnMouseLeave) then FOnMouseLeave(self);
end;procedure TMyPanel.SetDown(Value: boolean);
begin
if FDown<>Value then
FDown:=Value;
end;procedure TMyPanel.SetKind(value: Integer);
begin
if FKind<>Value then FKind:=Value;
end;procedure TMyPanel.Paint;
begin
inherited Paint;
case self.FPaintStyle of
0: DrawClear(TDrawGrid(self).canvas,self.ClientRect);//空白 ;
1: DrawBright(TDrawGrid(self).canvas,self.ClientRect);
2: DrawGray(TDrawGrid(self).canvas,self.ClientRect);
3: DrawCenterBright(TDrawGrid(self).canvas,self.ClientRect);
4: DrawCenterGray(TDrawGrid(self).canvas,self.ClientRect);
5: DrawCancel(TDrawGrid(self).canvas,self.ClientRect);
else
DrawClear(TDrawGrid(self).canvas,self.ClientRect);//空白
end;end;procedure TMyPanel.SetPaintStyle(Value: Integer);
begin
if FPaintStyle<>Value then
FPaintStyle:=Value;
end;
//--------------
procedure TMyPanel.DrawBright(ACanvas:TCanvas;Arect:trect);
procedure TMyPanel.DrawGray(ACanvas: TCanvas; Arect: trect);
procedure TMyPanel.DrawCenterBright(ACanvas: TCanvas; Arect: trect);
procedure TMyPanel.DrawCenterGray(ACanvas: TCanvas; Arect: trect);
procedure TMyPanel.DrawCancel(ACanvas: TCanvas; Arect: trect);
procedure TMyPanel.DrawClear(ACanvas: TCanvas; Arect: trect);
//-------------------------------------------------------------------
constructor TMyPanel.Create(AOwner: TComponent);
begin
inherited;
PaintStyle:=0;
end;destructor TMyPanel.Destroy;
begin
inherited;
end;end.