- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道我可以使用 DLGTEMPLATEEX 创建一个对话窗口内存中的模板使用 DialogBoxIndirectParam .
最佳答案
我让它工作了。事实证明 MFC 有它自己的未记录的类:CDialogTemplate
。我找到了 this page使用以下代码设置字体及其大小。然后可以按照 CDialogTemplate
类方法中的逻辑访问 DLGTEMPLATEEX
-- 使用调试器进入 SetFont
方法:
#include <afxpriv.h> //Needed for CDialogTemplate
int CSimpleDialog::DoModal()
{
CDialogTemplate dlt;
int nResult;
// load dialog template
if (!dlt.Load(MAKEINTRESOURCE(CSimpleDialog::IDD))) {
return -1;
}
// set your own font, for example “Arial”, 10 pts.
dlt.SetFont("Arial", 10);
// get pointer to the modified dialog template
LPSTR pdata = (LPSTR)GlobalLock(dlt.m_hTemplate);
// let MFC know that you are using your own template
m_lpszTemplateName = NULL;
InitModalIndirect(pdata);
// display dialog box
nResult = CDialog::DoModal();
// unlock memory object
GlobalUnlock(dlt.m_hTemplate);
return nResult;
}
关于c++ - 如何使用修改后的 DLGTEMPLATEEX 调用 CDialog::DoModal(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38019340/
我在 Visual Studio 2008 中创建了一个基于 MFC 对话框的应用程序。 CCalendarWindowDlg dlg; m_pMainWnd = &dlg; INT_PTR nRes
我想控制模态对话框的位置。抱歉发了这么长的帖子,但我认为这就是帮助解决这个问题可能需要的一切。 我有一个对话框窗口,当单击一个按钮时会打开一个列表。 Parent 是 CXEdit,它调用 OnFun
我在有很多对话框的 MFC 应用程序中工作。调试时我无法判断是哪个类或函数创建了这个对话框。 为了说明这个问题,我创建了一个简单的基于对话框的 MFC 应用程序。在 Debug模式下运行它并暂停调试。
好吧,我承认我对 Windows API 甚至 MFC 都一无所知。 当出现问题(文件名字符串中的非法字符)时,我会弹出一个错误窗口,我希望错误框是模态的。 我一直想不通为什么它在访问 doModal
我想做的是,在使用 DoModal() 创建一个对话框并在框中按 OK 退出它之后,返回一个自定义值。例如,用户将在对话框中输入的几个字符串。 最佳答案 您不能更改 DoModal() 函数的返回值,
我有一个窗口,在 .rc 文件中设置了以下属性: STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS
MSDN说,对于CDialog.DoModal()函数,如果函数不能创建对话框,返回值为-1。它没有说明在哪种情况下它可能无法创建对话框。 对 MFC 源代码的快速调查表明,如果 (LPCDLGTEM
我在Win XP平台上用VS 6.0开发了一个相当大的C++程序,现在已经迁移到运行Win 7的新机器上(仍然运行VS 6.0)。该代码包含一个函数,用于实例化和运行 CFileDialog 对象,以
我知道我可以使用 DLGTEMPLATEEX 创建一个对话窗口内存中的模板使用 DialogBoxIndirectParam . 但是使用 MFC 我可以动态修改 CDialog 中的 DLGTEMP
我已经迁移 *MFC* 项目从 VC 6 到 VS 2010 项目。现在,我们实现的自定义对话框使用了 CDialog::DoModal,它无法正常工作,并在这一行失败HRSRC hResource
我在项目中写了一个 super 简单的 ATL 对话框。即使我注意到网络上的每个示例都内联实现了 CDialogImpl 类(即,类定义及其在定义本身中的实现),我还是正常编写它,将我的定义分隔在 .
我以前用过 MFC 对话框: EnterNameDlg dlg; dlg.DoModal(); string str = dlg.GetName(); 然而,我现在的一个对话框实际上以这种方法查看列表
我是 MFC 的新手,被要求在 Visual Studio 2008 中创建一个 MFC 应用程序。我正在尝试创建两个对话框。第一个在启动时打开,如果在第一个上按下确定,第二个对话框打开。然而,我的第
谁能帮我理解如何为从 CDialog 派生的对话框类覆盖 OnPaint()。 代码如下: ColorImageDlg *pDlg = NULL; pDlg = new ColorImageDlg;
谁能帮我理解如何为从 CDialog 派生的对话框类覆盖 OnPaint()。 代码如下: ColorImageDlg *pDlg = NULL; pDlg = new ColorImageDlg;
在 VS2013 中,我创建了一个基于对话的 MFC 应用程序。我修改了项目以便在应用程序开始时使用 PropertyPage 和 Propertysheet,因此,它不会启动 CDialog,而是启
我创建了一个派生自 CDialog 的对话框(MFC 会自动执行此操作),但我必须覆盖 OnInitDialog 方法来初始化 ComboBox: BOOL CLogin::OnInitDialog(
我们有一个适用于 Windows CE 和 Windows Mobile 的应用程序。在此应用程序中,如果按下工具栏中的按钮,应显示一个对话框。这在 Windows CE 7 和 Windows Mo
我是一名优秀的程序员,十分优秀!