各种tcontrol都有onmousedown onmouseup以及onmousemove的事件,
但是美中不足的是没有onenter和onexit事件,
如果我想在进入button的区域时,改变该button的caption,这就不好实现了
类似的情况还可能是一个image,或者一个stringgird。
请问如何模拟这种事件呢。谢谢。
但是美中不足的是没有onenter和onexit事件,
如果我想在进入button的区域时,改变该button的caption,这就不好实现了
类似的情况还可能是一个image,或者一个stringgird。
请问如何模拟这种事件呢。谢谢。
解决方案 »
- delphi 控件问题.
- 有没人用过TMS Workflow Studio
- 从数据库里读取图片,显示成缩略图列表,用Bookmark关联?
- 请问delphi中一个从产生到被删除这一过程中产生的时间的顺序是什么?
- 关于在delphi中CreateCaret,ShowCaret,SetCaretPos的API函数的使用????????
- 用DBxpress怎么调用SQL Server下的存储过程啊!
- 先显示窗口A,然后紧接着在A上显示B设置窗口,应该怎么写程序??菜鸟先谢过了!
- 怎么实现控制面板当中的添加windows组件功能!!!是哪个api函数
- 解放军攻台现场解说(爆笑)
- 文件(流)操作的高手们请看一下!
- 请教如何改变DBGrid的OPTIONS里的属性!
- 有什么软件可以保存当前的电脑状态?
在TForm1.Form1MouseMove中判断Mouse的X,y与button的Left,Left+width,top,Top+Height的关系
http://expert.csdn.net/Expert/topic/1021/1021357.xml
procedure OnLeave(var msg:TMessage); message CM_MOUSELEAVE;
var
obj:TObject;
begin
obj:=Tobject(msg.lParam);//鼠标所在的控件
if obj<>nil then
begin
//确定控件的类型
//你的处理
end;
procedure OnEnter(var msg:TMessage); message CM_MOUSEENTER;
procedure OnLeave(var msg:TMessage); message CM_MOUSELEAVE;
procedure OnLeave(var msg:TMessage); message CM_MOUSELEAVE;以上方法可是可以,但有问题:Mouse移动太快时就不行了。
建议使用 http://expert.csdn.net/Expert/topic/1151/1151295.xml但是如果想在 多种不同的控件上实现这种效果,好象又过于麻烦,
不知是否可以做一个东西替换掉
Hintwindow,是否可以实现???
procedure OnLeave(var msg:TMessage); message CM_MOUSELEAVE;
肯定可以的procedure TForm1.OnEnter(var msg :TMessage);
Begin
if Msg.LParam =LongInt(SpeedButton1) then
SpeedButton1.Font.Style :=SpeedButton1.Font.Style + [fsBold];
End