社区
Delphi
帖子详情
怎样增加一个OnColorChange的属性?
sc_arhat
2007-07-30 10:49:13
想写一个TMyPanel,继承自TPanel,增加一个属性OnColorChange便于用户在mypanel颜色改变的时候自定义事件,该怎么定义这个属性呢?VCl的源码没有看明白,哪位大师指点以下,或是推荐本书学习一下,谢谢。
...全文
92
2
打赏
收藏
怎样增加一个OnColorChange的属性?
想写一个TMyPanel,继承自TPanel,增加一个属性OnColorChange便于用户在mypanel颜色改变的时候自定义事件,该怎么定义这个属性呢?VCl的源码没有看明白,哪位大师指点以下,或是推荐本书学习一下,谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
阿发伯
2007-07-30
打赏
举报
回复
上面的过程实现中TMyPanle写错了,应改为TMyPanel。下面是完整的的测试:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TMyPanel = class(TPanel)
private
FOnColorChange: TNotifyEvent;
procedure CMColorChanged(var Message: TMessage); message CM_COLORCHANGED;
published
property OnColorChange: TNotifyEvent read FOnColorChange write FOnColorChange;
end;
TForm1 = class(TForm)
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
FPanel: TMyPanel;
procedure ColorChange(Sender: TObject);
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TMyPanel.CMColorChanged(var Message: TMessage);
begin
if Assigned(FOnColorChange) then
FOnColorChange(Self);
inherited;
end;
procedure TForm1.ColorChange(Sender: TObject);
begin
ShowMessage('Ok');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
FPanel := TMyPanel.Create(Self);
FPanel.Parent := Self;
FPanel.OnColorChange := ColorChange;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if FPanel.Color <> clRed then
FPanel.Color := clRed
else
FPanel.Color := clWhite;
end;
end.
阿发伯
2007-07-30
打赏
举报
回复
没测试,也许有错误
TMyPanel = class(TPanel)
private
FOnColorChange: TNotifyEvent;
procedure CMColorChanged(var Message: TMessage); message CM_COLORCHANGED;
published
property OnColorChange: TNotifyEvent read FOnColorChange write FOnColorChange;
end;
procedure TMyPanle.CMColorChanged(var Message: TMessage);
begin
if Assigned(FOnColorChange) then
FOnColorChange(Self);
inherited;
end;
Color
Mixer:
Color
Mixer 是
一个
用于在 HSV 颜色空间中选择颜色的小部件
Color
Mixer 是
一个
用于在 HSV 颜色空间中选择颜色的小部件。 演示应用程序也可以在找到。 截屏 代码示例 例如,要显示
一个
以 m
Color
作为起始颜色的对话框: HSLFragment fragment = HSLFragment . newInstance...
RAD Studio VCL Win32 Reference (VCL参考)
TStandard
Color
Map.On
Color
Change
Event TThemed
Color
Map Class TThemed
Color
Map Members TThemed
Color
Map Methods TThemed
Color
Map.Update
Color
s Method TThemed
Color
Map Properties TThemed
Color
Map.BtnFrame
Color
...
浅尝辄止WPF自定义用户控件(实现颜色调制器)
主要利用用户控件实现
一个
自定义的颜色调制控件,实现
一个
小小的功能,具体实现界面如下。 首先自己新建
一个
wpf的用户控件类,我就放在我的wpf项目的
一个
文件夹下面,因为是
一个
很小的东西,所以就没有用mvvm的模式...
4.为自定义控件添加事件
在这里强调一点 一提到事件 估计你脑子的反映就是控件的那些事件 比如鼠标点击事件 键盘事件什么的 确实 不过在C#中 事件绝对不是只有控件才有的东西 你普通的
一个
类也可以有事件 对于一些才开始接触C#的人可能有点...
WTL 学习笔记 -- Property Sheets and Wizards
属性
页和向导也是很常用的组件,两者表现形式大不相同,但功能差不多,无非前者所有界面同时出现,而后者要按规定的次序出现罢。MFC中提供
属性
页组件,实在太难用,现在还记忆犹新。 WTL中的
属性
页是否有所改进呢...
Delphi
5,388
社区成员
262,730
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章