我知道我可以使用DLGTEMPLATEEX在内存中使用DialogBoxIndirectParam模板创建一个对话框窗口。
答案 0 :(得分:2)
我得到了它的工作。事实证明,MFC有自己的未记录的类:DLGTEMPLATEEX
。我发现this page使用以下代码来设置字体及其大小。然后,可以按照CDialogTemplate
类方法中的逻辑访问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;
}
方法:
<?
setlocale (LC_TIME, 'fr_FR.utf8','fra');
echo (strftime("%A %d %B"));
?>