2 yxingsong yxingsong 于 2016.05.01 17:12 提问

mfc group box 中radiobutton分组问题

vc的mfc基于对话框程序,动态建一个group box,并在里面动态放入多个radiobutton,为radiobutton添加批处理响应事件后,点击radiobutton无反应,有可能是哪里出问题了,如果radiobutton不放在group box中,无问题

group box代码:
groupBox1->Create(_T("种类"), WS_CHILD | WS_VISIBLE | BS_GROUPBOX, CRect(18, 10, 339, 95), this, IDC_GROUPBOXBUTTON);
radiobutton 代码:
myRadioButton[i].Create(m_strProductValue[count], BS_AUTORADIOBUTTON,
CRect(10 + 80 * i, 20, 80 * (i + 1), 45), groupBox1, IDC_RADIO1+i);

3个回答

caozhy
caozhy   Ds   Rxr 2016.05.01 23:44

你说的点击无反应是什么意思?你radiobutton点击的代码在哪里,这里只有你创建radiobutton的代码。检查下id有没有重复?

yxingsong
yxingsong void CMFCApplicationDemo4Dlg::OnBnClickedRadio(UINT nID) { // TODO: 在此添加控件通知处理程序代码 MessageBox(_T("hello"), _T("提示"), MB_OK); }
大约 2 年之前 回复
yxingsong
yxingsong BEGIN_MESSAGE_MAP(CMFCApplicationDemo4Dlg, CDialogEx) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_CONTROL_RANGE(BN_CLICKED, IDC_RADIO1, IDC_RADIO1+9, &CMFCApplicationDemo4Dlg::OnBnClickedRadio) END_MESSAGE_MAP()
大约 2 年之前 回复
yxingsong
yxingsong public: afx_msg void OnBnClickedRadio(UINT nID);
大约 2 年之前 回复
yxingsong
yxingsong #define IDD_ABOUTBOX 100 #define IDS_ABOUTBOX 101 #define IDD_MFCAPPLICATIONDEMO4_DIALOG 102 #define IDR_MAINFRAME 128 #define IDC_GROUPBOXBUTTON 1001 #define IDC_RADIO1 1005
大约 2 年之前 回复
yxingsong
yxingsong 就是选中radiobutton,不响应对应的事件,静态创建groupbox,并在里边放置radiobutton,然后再写上对应的响应事件无问题,事件能正确响应,动态就不行,以下是动态的响应事件以及ID:
大约 2 年之前 回复
yxingsong
yxingsong   2016.05.03 00:05

public:
afx_msg void OnBnClickedRadio(UINT nID);

#define IDM_ABOUTBOX                    0x0010

#define IDD_ABOUTBOX 100
#define IDS_ABOUTBOX 101
#define IDD_MFCAPPLICATIONDEMO4_DIALOG 102
#define IDR_MAINFRAME 128
#define IDC_GROUPBOXBUTTON 1001
#define IDC_RADIO1 1005

BEGIN_MESSAGE_MAP(CMFCApplicationDemo4Dlg, CDialogEx)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_CONTROL_RANGE(BN_CLICKED, IDC_RADIO1, IDC_RADIO1+9, &CMFCApplicationDemo4Dlg::OnBnClickedRadio)
END_MESSAGE_MAP()

yxingsong
yxingsong   2016.05.03 00:07

void CMFCApplicationDemo4Dlg::OnBnClickedRadio(UINT nID)
{
// TODO: 在此添加控件通知处理程序代码
MessageBox(_T("hello"), _T("提示"), MB_OK);

}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
MFC Radio Button 使用 分组 RadioButton 用法
1. 环境:VS2010 2. 3.
VC++中 RadioButton分组详解
今天在VC中,偶尔使用了下RadioButton控件,发现RadioButton分组使用的有问题,在网上查了下,许多人说,把同一组的RadioButton放到一个GroupBox中,再把其中一个RadioButton的Group设为true,就能完成分组。但我照这个做,发现不行,同一个GroupBox里的RadioButton键,无法互斥。然后再到网上搜答案,看到有人说,需要先设置下Tab O
【VC界面】CButton按钮类和GroupBox分组框的自绘
大家都看到一些仪器仪表的界面
Group Box组合框的简单使用
分类: 2010.9-14.72013-07-13 11:59 5325人阅读 评论(0) 收藏 举报 目录(?)[+] 开发环境版本:Visual Studio 2010 应用程序类型:MFC application   1 组合框 Group Box作用 在MFC基于对话框的应用程序中,Group Box组合框就是将组合框内的控件标识为一
问题解决——Group Box控件遮挡其他控件
一开始我在写一个小例子,界面显示效果是右边的样子。后来打算用别的方法实现下逻辑,又写了一个小例子,结果界面显示效果却是左面的样子。 当我看到界面效果不一样时,当时我就不乐意了,因为我的属性设置都是一样的呀!
Qt5学习笔记——QRadioButton与QButtonGroup
【我是小标题:使用QToolButton实现radio button功能。】QRadioButton是什么?   下图是Windows系统中典型的radio button显示效果。      QRadioButton是一个可以switch on或off的按钮,对应的状态为checked和unchecked。一组QRadioButton通常用于表示程序中“多选一”的选择,例如单项选择题。在一组r
duilib学习之一 增加GroupBox
Duilib扩展之增加GropBox控件 才刚开始学习使用duilib,然后发现没有GroupBox,百度了N页也没发现duilib关于这个控件的,难道就没人用这个吗……没办法了,自己动手,丰衣足食。其实GroupBox也不难,它就是一个容器,然后在左上边线显示一个Caption即可。所以只需要继承CContainerUI,然后重新定位Text位置,将上边框线“打断”为两部分就行了,即重写Pai
用Group Box控件对控件分组
用Group Box控件对控件分组 用Group Box控件对控件分组 用Group Box控件对控件分组 用Group Box控件对控件分组
Radio Button 使用分组 RadioButton 用法
1. 环境:VS2010 2. 分组 将radio1、radio2、radio3分为1组,radio4、radio5分为另一组; 方法:设置  radio1  的 属性:  group、tabstop、auto均为true 设置  radio2 的 属性: group设为false, tabstop、auto均为true 设置  radio3  的 属性:grou
MFC 多个RadioButton设为一组 vs2013
需要将多个RadioButton设为一组,组内是互斥的 第一步: 将radio1、radio2、radio3分为一组 方法:设置  radio1  的 属性:  group、tabstop、auto均为true 设置  radio2 的 属性: group设为false, tabstop、auto均为true 设置  radio3  的 属性:group设为fal