MFC中这是怎么回事呢,if怎么不对

if(radio2->GetCheck()==BST_CHECKED&&GetDlgItem(IDC_23H)->ShowWindow(SW_SHOW)),{程序1}这段... if(radio2->GetCheck()==BST_CHECKED && GetDlgItem(IDC_23H)->ShowWindow(SW_SHOW)),
{
程序1
}
这段程序是在CHECK1里面写着的,但是执行的时候点击CHECK1,为什么先将GetDlgItem(IDC_23H)->ShowWindow(SW_SHOW)),执行完毕才执行程序1的。
如何在if里面判断IDC_23H是否显示呢
展开
 我来答
bhtzu
推荐于2016-02-20 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4134万
展开全部

GetDlgItem(IDC_23H)->ShowWindow(SW_SHOW),你这样写就是让控件显示,而不是判断状态。

判断窗口显示状态,用API函数IsWindowVisible(hWnd),或者用MFC的窗口函数GetStyle实现,代码大致如下:

if(radio2->GetCheck()==BST_CHECKED&&(GetDlgItem(IDC_23H)->GetStyle() & WS_VISIBLE))
追问
好了,我就说嘛?问题打一半发现原来是if里面写的不对,所以添加了那最后一句
追答
呵呵,不客气。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式