比如说我想在新控件中添加一个事件, 让这个事件在OnMouseUp之后发生,请问大虾可以实现吗?
如果能应该怎么做?谢谢
如果能应该怎么做?谢谢
解决方案 »
- Delphi调用CAD程序,并读取CAD中信息
- 奇怪的问题:richedit line insertion error是什么意思?
- 问个关于TBITMAP透明的问题。。。
- 求DynamicSkinForm skin包
- 请教各位大哥一个算法问题
- delphi本身能否建立数据库,而不借用access
- 怎样用Delphi打开并操作Access数据库?
- 编写Dcom应用服务器的函数,总是报出“对象被打开”的错误?!?
- 如何读取16点阵字库中的英文字符(非汉字)等。怎么计算他的区位和偏移量,谢谢!
- 求教关于TreeView控件和数据表关联的问题。
- 释放窗体时出的问题?????
- 300分求一个用基于Tapi的控件的注册版。名叫 VoiceAngel。
但有一个地方不是很明白,你到底是想让这个OnMouseUp的事件是在你的控件里直接实现还是让用户来实现?
建议楼主去下载一个别人写的控件源码看看,相信会有收获的。
它将在OnMouseUp之后触发.
发布两个新的事件:
property OnMyMouseUp;
property OnMyEvent;OnMouseUp := DoMouseUp;procedure TMyControl.DoMouseUp;
begin
if Assigned(FOnMyMouseUp) then
FOnMyMouseUp(Self);
if Assigned(FOnMyEvent) then
FOnMyEvent(Self);
end;
......type
TMyControl = class(......)
private
procedure MyMsgAfterMouseUp(var Msg : TWMMouse); message MYMSG_AFTERMOUSEUP;
procedure LButtonUp(var Msg : TMessage); message LButtonUp;
published
property AfterMouseUp : TAfterMouseUpEvent read FAfterMouseUp write FAfterMouseUp;
end;......procedure TMyControl.MyMsgAfterMouseUp(var Msg : TWMMouse);
begin
if Assigned(FAfterMouseUp) then FAfterMouseUp(......);
end;procedure LButtonUp(var Msg : TMessage);
begin
PostMessage(MYMSG_AFTERMOUSEUP, Msg.wParam, Msg.LParam);
inherited;
end;上面的代码只是实现了左键的,地区而且只是部分. 但是好处是在你的AfterMouseUp事件中也能够得到鼠标的参数.