DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: fhc2004
今日帖子: 9
在线用户: 16
导航: 论坛 -> 论坛精华贴 斑竹:liumazi,iamdream  
作者:
男 babyluoyi (赵子龙) ★☆☆☆☆ -
盒子活跃会员
2003/5/20 13:50:56
标题:
猪猪》我又遇到了一个问题帮帮我撒! 浏览:4117
加入我的收藏
楼主: 》当mouse移到button1的时候变为红色,离开后变回原来的颜色,该怎么样做才好我琢磨了好久了!按此在新窗口浏览图片 按此在新窗口浏览图片 按此在新窗口浏览图片
----------------------------------------------
好好学习,天天向上!
作者:
男 Another (Another) ★☆☆☆☆ -
盒子活跃会员
2003/5/20 14:01:03
1楼: 仅Button是做不到的呀!

利用第三方控件
或自己做控件
加一个MouseLeave事件
截获鼠标利开消息

不过你要是那样做的话
不如直接扩充图片
那样可以换图片
不仅仅可以更换颜色。
----------------------------------------------
按此在新窗口浏览图片
作者:
女 123 (猪猪) ★☆☆☆☆ -
盒子活跃会员
2003/5/20 15:26:23
2楼: 按钮不能变颜色,只有按钮的字可以用 button1.font.color 设置。
----------------------------------------------
-
作者:
男 babyluoyi (赵子龙) ★☆☆☆☆ -
盒子活跃会员
2003/5/20 21:31:45
3楼: 我是说的不是说的控件变红,而是说的字体变红呀停留在那里是红的离开就变回原来的颜色!!!!!!(急呀)
----------------------------------------------
好好学习,天天向上!
作者:
男 zizii (高高高级馒头) ★☆☆☆☆ -
神秘会员
2003/5/20 21:42:29
4楼: button1.onmousemove
begin
  button1.font.color:=clred;
end;

tform1.onmousemove
begin
  button1.font.color:=clblack;
end;

----------------------------------------------
维护世界和平,共创美好盒子。
作者:
男 Another (Another) ★☆☆☆☆ -
盒子活跃会员
2003/5/20 22:00:47
5楼: zizii的写法
以前我学VB的时候
也用过这种小技巧
但,当控件多了
而且以非常快的速度移动至别的按钮时,
是否要做了判断呢?
实际上
这种办法
不太称道
不过
睁一只眼闭一只眼
可是别忘了
学习组件的编写呀?

----------------------------------------------
按此在新窗口浏览图片
作者:
男 babyluoyi (赵子龙) ★☆☆☆☆ -
盒子活跃会员
2003/5/20 22:03:57
4楼: 谢谢大家,我会用了特别是》》猪猪。还有大家!!
----------------------------------------------
好好学习,天天向上!
作者:
男 zizii (高高高级馒头) ★☆☆☆☆ -
神秘会员
2003/5/20 22:04:15
6楼: ――为TButton增加MouseLeave事件 作者:zizii
  用VB,Delphi等快速编程工具,使用最多的一定是各种控件了,用自带的控件编出的程序往往千篇一律,为了使自己的程序更个性化或者为了使控件的功能更强,我们需要自己编控件,大家不要以为自己编控件好难,看完我的两篇文章,保证人人都能编自己的控件。好了开工吧:
首先,我们做的这个控件是为了给TButton控件增加Mouseleave事件,有了这个事件,我们就可以编出类似网页中的悬停按钮的效果,打开Delphi,选Component|new Component出现如下的画面,
 
我们的控件类名为TButton1,父类为TButton,库单元文件名为Button1.单击确定按钮,Component Wizard粗略的生成模板样式的代码,其中有类声明,全局变量声明及传递到RegisterComponent方法中的参数等,编译好的整个文件的程序清单如下:
unit Button1;
interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;
type
  TButton1 = class(TButton)
  private
    FOnMouseLeave: TNotifyEvent;
    procedure WZMouseLeave(var Msg:TMessage); message CM_MOUSELEAVE;
    { Private declarations }
  protected
    { Protected declarations }
  public
    { Public declarations }
  published
    property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
    { Published declarations }
  end;
procedure Register;
implementation
procedure Register;
begin
//在系统中注册
  RegisterComponents('Samples', [TButton1]);
end;
{ TButton1 }
procedure TButton1.WZMouseLeave(var Msg: TMessage);
begin
  inherited;//继承父类
  if csLButtonDown in ControlState then begin
    Self.MouseUp(mbLeft,[ssLeft],0,0);
  end;
  if Assigned (FonMouseLeave) then FOnMouseLeave(Self);
end;
end.
代码添加完后,编译后,一个名为Button1的控件即加入Simples项中,新建一个项目,试试以下的代码:
procedure TForm1.Button11MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
label1.Caption:='ll';
end;
procedure TForm1.Button11MouseLeave(Sender: TObject);
begin
label1.Caption:='dd';
end;
----------------------------------------------
维护世界和平,共创美好盒子。
作者:
男 xueshan (雪杉) ★☆☆☆☆ -
普通会员
2003/5/25 17:10:58
7楼: zizii 你确实很厉害, 不过怎么去编译呢?我点击了运行,没有出现button1呀
----------------------------------------------
-
作者:
女 123 (猪猪) ★☆☆☆☆ -
盒子活跃会员
2003/5/25 18:36:19
8楼: 编译了还要安装嘛,这个是控件,不是演示代码。
----------------------------------------------
-
作者:
男 boy (阿門) ★☆☆☆☆ -
盒子活跃会员
2003/5/25 20:17:36
9楼: 參考 用TBitBtn 試試

procedure TForm1.BitBtn1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
   if ActiveControl is TBitBtn then
          Font.Color := clYellow;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
   if ActiveControl is TBitBtn then
    Font.Color := clRed;
end;
----------------------------------------------
Delphi開發◆伺服器架設◆免安裝APACHE,PHP,CGI Perl, MYSQL ★
作者:
男 xueshan (雪杉) ★☆☆☆☆ -
普通会员
2003/5/25 22:42:26
10楼: 我知道了谢谢~~~
呵呵
这个地方我会常来的
我们宿舍有网线,上网比较方便
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行70.3125毫秒 RSS