MFC取消HtmlDialog对话框的"确定"和"取消"按钮方法

当MFC对话框样式设为Child时,即使移除界面的确定和取消按钮,仍会默认显示。要消除这些按钮,需在.rc文件中删除相应代码,然后在.htm文件中删除相应HTML标签,接着从消息映射和响应中移除OnButtonCancel和OnButtonOK函数,并在Resource文件中删除按钮ID。完成这些步骤后,对话框将不再显示默认的确定和取消按钮。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们把对话框的Style设置为Child的时候会发现确定和取消按钮会存在,即便你把界面上的“确定”“取消”按钮去掉了发现他还是存在,而且排列方式是竖式,这时候有点是不是有点无奈呢?好那我们说说去掉这两个默认按钮的方法,还有去除他们的消息响应。

首先我们右击解决方法的.rc文件,点击查看代码,找到对话框的ID比如我里面有个子级对话框IDD_DIALOG_COMMAND,那我就找到它。这时候你发现在这个对话框代码里面有这么两行代码:

DEFPUSHBUTTON "确定",IDOK,39,62,50,14
PUSHBUTTON "取消",IDCANCEL,103,62,50,14

把这两行代码删除掉。

接着打开对应对话框的htm文件(比如你对对话框新建类CommandDlg)找到后打开他,你会看到这样的一些代码

<HTML>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<BODY ID=CCommandDlg BGCOLOR=LIGHTGREY>

<TABLE WIDTH=100%>
<TR>
<TD ALIGN=RIGHT>
<BUTTON STYLE="WIDTH:100" ID="ButtonOK">确定</BUTTON><BR>
<BUTTON STYLE="WIDTH:100" ID="ButtonCancel">取消</BUTTON>
</TD>
</TR>
<TR WIDTH=100% HEIGHT=75>
<TD ALIGN=CENTER VALIGN=BOTTOM>
TODO: 在此放置控件。
</TD>
</TR>
</TABLE>

恩,看到你要删除的东西了没有呢?把一下三行代码删除掉:

TODO: 在此放置控件。

<BUTTON STYLE="WIDTH:100" ID="ButtonOK">确定</BUTTON><BR>

<BUTTON STYLE="WIDTH:100" ID="ButtonCancel">取消</BUTTON>

好了控件删除之后呢,接着我们删除消息映射跟响应

单击对话框类发现里面有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的子级对话框中是不是已经没有烦人的文本跟那两个默认按钮了呢!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值