VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 1495|回复: 6

[求助] VC++做工控画面,怎样做按压式按钮?

[复制链接]
19_avatar_middle
在线会员 发表于 2016-7-12 14:40:05 | 显示全部楼层 |阅读模式
3驿站币
VC做工控画面,画面中有许多的按钮需要实现与实体按钮(按压式按钮)一样的控制功能。

即每个按钮各自控制一个不同的bool变量,实现:
>>按钮被按下未松开时,bool变量置true
>>按钮松开弹起时,bool变量置false

如:
按钮1被按下时,变量m_bool1置true;松开弹起时,变量m_bool1置false.
按钮2被按下时,变量m_bool2置true;松开弹起时,变量m_bool2置false.

VC要实现这个按钮控件功能,应该如何做呢?
有没有哪位能分享个示例程序呢?





上一篇:俺写的IOCP为什么传输文件的速度就这么慢了
下一篇:基础班工具栏显示图片问题
51_avatar_middle
online_admins 发表于 2016-7-12 15:21:19 | 显示全部楼层
VC 本身自带的按钮控件就有这个功能啊
你拖一个按钮控件到程序界面上,之后给按钮添加 BS_CHECKBOX 样式就可以了
19_avatar_middle
ico_lz  楼主| 发表于 2016-7-12 17:10:55 | 显示全部楼层
Syc 发表于 2016-7-12 15:21
VC 本身自带的按钮控件就有这个功能啊
你拖一个按钮控件到程序界面上,之后给按钮添加 BS_CHECKBOX 样式就 ...

你说这种是复选按钮吧。

我这说是一个按钮,鼠标左键按下不松开(BUTTONDOWN)时执行函数1的功能,鼠标左键按松开(BUTTONUP)时执行函数2的功能。

--------------
自带的按钮控件在“添加按钮事件处理程序”向导中能添加的消息类型只有BN_CLICKED,BN_DOUBLECLICKED等,但这些都不是我需要的。
VC++做工控画面,怎样做按压式按钮?
VC++做工控画面,怎样做按压式按钮?
VC++做工控画面,怎样做按压式按钮?


----------
需要的是BUTTONUP,BUTTONDOWN这样的消息。
VC++做工控画面,怎样做按压式按钮?

VC++做工控画面,怎样做按压式按钮?

然而OnLButtonDown() ,OnLButtonUp()这两处函数要如何处理,才能区分当前被按下或弹起的按钮是按钮1,还是按钮2或者是按钮x呢?
51_avatar_middle
online_admins 发表于 2016-7-12 18:15:22 | 显示全部楼层
Fish072 发表于 2016-7-12 17:10
你说这种是复选按钮吧。

我这说是一个按钮,鼠标左键按下不松开(BUTTONDOWN)时执行函数1的功能,鼠 ...

明白了,那你就得从 CButton 按钮类派生一个子类,之后再这个子类冲响应 BUTTONUP,BUTTONDOWN 消息就可以了
20_avatar_middle
在线会员 发表于 2016-7-14 17:11:18 | 显示全部楼层
就是老大说的那样   你放一个checkbox控件   然后在属性设置个pushbutton属性  他就可以向按钮那样用了
19_avatar_middle
ico_lz  楼主| 发表于 2016-7-15 15:11:02 | 显示全部楼层
Syc 发表于 2016-7-12 18:15
明白了,那你就得从 CButton 按钮类派生一个子类,之后再这个子类冲响应 BUTTONUP,BUTTONDOWN 消息就可 ...

网上有个例子 (http://www.2cto.com/kf/201402/277846.html。
如果在主对话框中有多个 MyRealButton 子类的按钮时,由于这每一个按钮 的BUTTONDOWN 和BUTTONUP需要用来调用执行不出的函数,这样的话要怎样才能区分,当前操作的是具体哪一个ID的按钮呢?
51_avatar_middle
online_admins 发表于 2016-7-15 15:48:16 | 显示全部楼层
Fish072 发表于 2016-7-15 15:11
网上有个例子 (http://www.2cto.com/kf/201402/277846.html。
如果在主对话框中有多个 MyRealButton 子 ...

在类的内部获取自身控件的ID,之后根据按钮ID来区分就可以啦
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-7-22 06:06

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表