vc子对话框隐藏问题

我在主对话框里有个按钮,按了子对话框就会弹出。现在我想实现在主对话框假如点击其他区域(不是那个按钮和子对话框的区域)时,能把子对话框隐藏,就像win7里面的音量控制一样。... 我在主对话框里有个按钮,按了子对话框就会弹出。现在我想实现在主对话框假如点击其他区域(不是那个按钮和子对话框的区域)时,能把子对话框隐藏,就像win7里面的音量控制一样。

代码如下:
void CRMONDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
CRect rc;
GetDlgItem(IDD_DIALOG1)->GetWindowRect(&rc);
if(!rc.PtInRect(point))
VolumnControl->ShowWindow(SW_HIDE);
CDialog::OnLButtonDown(nFlags, point);
}
能运行,但是为什么一点击其他区域的时候就会报错呢?麻烦各位大神
展开
 我来答
bhtzu
2013-09-06 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4153万
展开全部
GetDlgItem(IDD_DIALOG1)//这个用法是不对的,控件可以这么获得,对话框,直接GetWindowRect就可以了。

另外,win系统的音量控制块,并不是这样实现的,而是在窗口OnKillFocus的时候,自己销毁的自己,而不是通过主调用窗口,这样更合理一些。
更多追问追答
追问
怎么自己销毁自己,能麻烦说详细一点吗?谢谢
追答
OnKillFocus里面this->ShowWindow(SW_HIDE);
小陆仁
2013-09-06 · TA获得超过162个赞
知道小有建树答主
回答量:255
采纳率:0%
帮助的人:166万
展开全部
将弹出的对话框设置成非模态
报错是你获取到的指针为空 却没判断,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式