VC 使按钮无效

问题如下:1.子窗口使用某按钮无效Csona;//Cson是子窗体类a.DoModal();a.GetDlgItem(IDCANCEL)->EnableWindow(FA... 问题如下:
1.子窗口 使用某按钮无效
Cson a;//Cson是子窗体类
a.DoModal();
a.GetDlgItem(IDCANCEL)->EnableWindow(FALSE);//这样没用。。。
2.使按钮叉(X)无效

3.使窗口中所有按钮无效
展开
 我来答
changdia
2011-06-06 · TA获得超过150个赞
知道小有建树答主
回答量:516
采纳率:0%
帮助的人:166万
展开全部
2 GetDlgItem(IDCANCEL)->EnableWindow(FALSE);我觉得是没有问题的,至少我这么写过
3 重复劳动一下吧 这个不难

第一个问题 我也觉得你这么做不行 我自己简单测了一下 确实没反应 ,可能的原因如下,你创建的是模态对话框,它的特点就是必须等待对话框返回一个值之后你的程序才会继续向下运行,再看你的代码,当domodal之后,程序停住,下一句没有执行到,这就是你会觉得没用的原因。你必须关闭这个对话框程序才会执行a.GetDlgItem(IDCANCEL)->EnableWindow(FALSE);这一句,可惜这时窗口已经销毁,所以很可能导致内存指向错误引起崩溃,不知道你是否懂了

知道了以上几点,我想你也知道该怎么做了 那就是运用非模态对话框,
把mless定义为Cson 的指针
mless=new Cson ();
mless->Create(IDD_DIALOG2,this);
mless->ShowWindow(SW_SHOW);
mless->GetDlgItem(IDC_BTN)->EnableWindow(FALSE);//我建议你把IDCANCEL改掉吧,那么多都叫IDCANCEL,你都不好找哪个是哪个
扭杏q
2011-06-07 · TA获得超过295个赞
知道小有建树答主
回答量:614
采纳率:100%
帮助的人:396万
展开全部

EnableWindow(AHandle,True/False);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
李_岚峰
2011-06-07 · 超过42用户采纳过TA的回答
知道答主
回答量:146
采纳率:0%
帮助的人:107万
展开全部
你调用了就直接销毁当然不会有效果! 等于你拿到了没给别人看就又丢掉,别人怎么知道你拿到没有! 楼上的方法可行!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式