注册 登录
编程论坛 C++教室

请教如何在选中单选按钮时执行指令

yangfrancis 发布于 2016-01-19 21:59, 2036 次点击
我在一个非MFC的win32程序中创建了两个单选按钮hRadio1和hRadio2, 分别拥有ID为IDC_RADIO1和IDC_RADIO2.另外下方文本框hEdit控件。我希望能够在点某一个单选钮时文本框出现某些文字,点另一单选钮文本框内立刻变成另外的文字。请问怎么做?SetWindowText语句应该放在什么地方才能被执行到?谢谢。
4 回复
#2
rjsp2016-01-20 08:31
第一,IDC_RADIO1和IDC_RADIO2应该是一组(group),也就是按CTRL+D后,这两个应该是相邻关系,且第一个具有Group属性,第二个不具有Group属性
第二,radio控件其实就是个Button,当然是处理BN_CLICKED消息,用SendMessage(m_hWnd, BM_GETCHECK, 0, 0); 获取其当前状态
#3
yangfrancis2016-01-20 16:09
回复 2楼 rjsp
谢了。我的问题解决了。原来根本不是消息捕捉不到的问题。是设置文本语句没用对。看来设置可编辑对话框的文字不能使用SetWindowText, 得用SetDlgItemText才行。
#4
rjsp2016-01-20 16:24
回复 3楼 yangfrancis
SetWindowText 和 SetDlgItemText 应该都可以的,估计你参数弄错了

SetWindowText( EDIT控件的句柄, _T("……") )
SetDlgItemText( EDIT控件的父窗口句柄, EDIT控件的ID, _T("……") )
#5
yangfrancis2016-01-20 21:59
回复 4楼 rjsp
我用SetWindowText去改变静态控件的文本是成功的,但改变EDIT没有成功,参数仍然是用的(控件句柄,文本内容)
1