我们把对话框的Style设置为Child的时候会发现确定和取消按钮会存在,即便你把界面上的“确定”“取消”按钮去掉了发现他还是存在,而且排列方式是竖式,这时候有点是不是有点无奈呢?好那我们说说去掉这两个默认按钮的方法,还有去除他们的消息响应。
首先我们右击解决方法的.rc文件,点击查看代码,找到对话框的ID比如我里面有个子级对话框IDD_DIALOG_COMMAND,那我就找到它。这时候你发现在这个对话框代码里面有这么两行代码:
DEFPUSHBUTTON "确定",IDOK,39,62,50,14
PUSHBUTTON "取消",IDCANCEL,103,62,50,14
把这两行代码删除掉。
接着打开对应对话框的htm文件(比如你对对话框新建类CommandDlg)找到后打开他,你会看到这样的一些代码
确定 取消 |
TODO: 在此放置控件。 |
恩,看到你要删除的东西了没有呢?把一下三行代码删除掉:
TODO: 在此放置控件。
确定
取消
好了控件删除之后呢,接着我们删除消息映射跟响应
单击对话框类发现里面有OnButtonCancel和OnButtonOK这两个函数,点击进入编辑把以下代码删除了:
HRESULT CTimeDlg::OnButtonOK(IHTMLElement* /*pElement*/)
{
OnOK();
return S_OK;
}
HRESULT CTimeDlg::OnButtonCancel(IHTMLElement* /*pElement*/)
{
OnCancel();
return S_OK;
}
还有消息映射:
DHTML_EVENT_ONCLICK(_T("ButtonOK"), OnButtonOK)
DHTML_EVENT_ONCLICK(_T("ButtonCancel"), OnButtonCancel)
如果你还想删除他的ID,接着打开Resource文件把属于此界面的按钮ID也删除了!
好了手工,这下运行看到tab的子级对话框中是不是已经没有烦人的文本跟那两个默认按钮了呢!