| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 520 人关注过本帖
标题:自定义按钮控件修改增加一个功能
只看楼主 加入收藏
sdhtli
Rank: 1
等 级:新手上路
帖 子:115
专家分:0
注 册:2008-10-6
结帖率:72.22%
收藏
已结贴  问题点数:20 回复次数:8 
自定义按钮控件修改增加一个功能
向各位老师们求救,想给自定义按钮增加一个功能,拜托各位大哥哥帮忙,好吗,谢谢
自定义按钮 控件 - 副本.rar (20.46 KB)
搜索更多相关主题的帖子: 哥哥 
2012-03-22 13:34
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
增加图片上去是弄成了,
目前还没找到它的产生 单击事件在那个过程里产生。还没看懂流程。

需要增加一个事件,然后这个事件需要在产生 单击 事件的过程中进行判断来决定是产生哪个事件
问题我目前还没找到这个单击事件是怎么产生的。

授人于鱼,不如授人于渔
早已停用QQ了
2012-03-22 15:52
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
在 '重画控件
Private Sub ReDraw() 中接

        '-------------------------------------
        '开始绘制按钮了。img(mState):图片是用
        'Image 控件组存放的,根据 mState 的值
        '调用相应的图片进行绘制。
        '-------------------------------------
这部分之后

程序代码:
        '****************************
        '如果状态BS_Point 或 BS_Pres时,鼠标在按钮上,显示关闭图片
        '***************************
        
        Dim lpPoint As POINT_API
        If mState = BS_Point Or mState = BS_Press Then
            GetCursorPos lpPoint
            ScreenToClient .hwnd, lpPoint
            If lpPoint.X < .ScaleLeft + .ScaleWidth - Image1(0).Width Or lpPoint.X > .ScaleLeft + .ScaleWidth Or _
               lpPoint.Y < .ScaleTop Or lpPoint.Y > .ScaleTop + Image1(0).Height Then
                '显示关闭按钮
                .PaintPicture Image1(1), .ScaleLeft + .ScaleWidth - Image1(0).Width - 2, 2
            Else
                .PaintPicture Image1(0), .ScaleLeft + .ScaleWidth - Image1(0).Width - 2, 2
            End If
        End If


第二部分

'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'移动鼠标
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Private Sub UserControl_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
这个过程中:

放在 End With 之前

程序代码:
    '鼠标移动时变动关闭按钮图标
    If X < .ScaleLeft + .ScaleWidth - Image1(0).Width Or X > .ScaleLeft + .ScaleWidth Or _
       Y < .ScaleTop Or Y > .ScaleTop + Image1(0).Height Then
        '显示关闭按钮
        .PaintPicture Image1(1), .ScaleLeft + .ScaleWidth - Image1(0).Width - 2, 2
    Else
        .PaintPicture Image1(0), .ScaleLeft + .ScaleWidth - Image1(0).Width - 2, 2
    End If

授人于鱼,不如授人于渔
早已停用QQ了
2012-03-22 16:07
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
产生单击事件中。需要 读取鼠标位置,
当鼠标位置在 关闭按钮的 范围 之中,就产生 单击关闭 按钮事件,否则就产生 单击事件。

鼠标DOWM 事件, MOVE 事件 ,UP 事件 ,不用动。

授人于鱼,不如授人于渔
早已停用QQ了
2012-03-22 16:09
sdhtli
Rank: 1
等 级:新手上路
帖 子:115
专家分:0
注 册:2008-10-6
收藏
得分:0 
谢谢版主,关闭按钮能不能增加一个独立事件呢
2012-03-22 16:18
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:20 
自定义按钮 控件 - 副本.zip (20.6 KB)

存在的BUG:
当在按钮上按住鼠标左键时,再移动鼠标出按钮区域,显示的关闭按钮无法被清除。
目前还不知道问题出在那里。没时间去测试了。

授人于鱼,不如授人于渔
早已停用QQ了
2012-03-22 16:31
sdhtli
Rank: 1
等 级:新手上路
帖 子:115
专家分:0
注 册:2008-10-6
收藏
得分:0 
版主太伟大了,谢谢你,要是能消除这个BUG,就太完美了,论坛就少这样的按钮
2012-03-22 17:30
sdhtli
Rank: 1
等 级:新手上路
帖 子:115
专家分:0
注 册:2008-10-6
收藏
得分:0 
版主为什么有时会发生错误呢
图片附件: 游客没有浏览图片的权限,请 登录注册
2012-03-26 10:04
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
我没遇到过,好像是 与 SQL 通讯时出现问题导致的。你多百度一下吧。

授人于鱼,不如授人于渔
早已停用QQ了
2012-03-26 11:38
快速回复:自定义按钮控件修改增加一个功能
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.041042 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved