如何初始化CFontDialog对话框的字体? 打开对话框选中字体之后,关闭对话框再次打开,字体又恢复到默认值!如何在对话框弹出之前?保留住上次选择的字体! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 将上次选择的字体设置到LOGFONT结构中,然后再调用 怎么设置?如下代码LOGFONT lf;lf.lfUnderline=true;CFontDialog dlg;dlg.DoModal();memcpy(&lf, dlg.m_cf.lpLogFont, sizeof(LOGFONT));打开对话框无下划线! 可以写一个CYourFontDialog继承CFontDialog,每次关闭时把选中的Font信息记录下来,下次打开时,再设置到记录下来的Font上。 其实,只要使用lplfInitial就可以了。每次关闭时把选中的Font信息记录下来,放到一个全局的变量,比如LOGFONT m_logfont;中,下次打开时:CFontDialog dlg(&m_logfont);dlg.DoModal(); LOGFONT lf;lf.lfUnderline=true;CFontDialog dlg(&lf,CF_EFFECTS | CF_SCREENFONTS,NULL,NULL);dlg.DoModal(); your can write or read font information into regedit. 比如:定义一个全局的变量(或要调用CFontDialog的类的成员变量)LOGFONT m_logfont; 以及一个辅助变量BOOL m_bFontSel;初值为NULL;CFontDialog dlg(m_bFontSel? &m_logfont : NULL);int rn = dlg.DoModal();if(rn == IDOK){ dlg.GetCurrentFont(&m_logfont); m_bFontSel = TRUE;} 上面写错一点点:BOOL m_bFontSel;初值为FALSE; 上面写错一点点:BOOL m_bFontSel;初值为FALSE; LOGFONT lf;lf.lfUnderline=true;CFontDialog dlg(&lf,CF_EFFECTS| CF_SCREENFONTS,NULL,NULL);if(dlg.DoModal()==IDOK) { memcpy(&lf, dlg.m_cf.lpLogFont, sizeof(LOGFONT));你下滑线的代码其他的值初始都没什么问题字体名的初始化要用32位的数组来初始化,字体用NULL来结束。 LOGFONT lf;lf.lfUnderline=true;CFontDialog dlg(&lf,CF_EFFECTS| CF_SCREENFONTS,NULL,NULL);if(dlg.DoModal()==IDOK) { memcpy(&lf, dlg.m_cf.lpLogFont, sizeof(LOGFONT));你下滑线的代码其他的值初始都没什么问题字体名的初始化要用32位的数组来初始化,字体用NULL来结束。 VC++使用GridCtrl link出错 大家好,我用ON_NOTIFY_RANGE时遇到了一个问题,上网搜发现一个老外和我一样的情况,而且表达的很清楚,直接贴过来了,请大虾们指教一下 网络协议看来看看去, 没啥感觉. ado和写文本文件程序性能问题,解决送分100,在线等候,见详细分析 问一个关于网络编程的简单问题 非高手莫入-交叉链接问题 求救!!俺是用VC++的,可是俺们领导却弄了一个超过四万行的汇编... 做网管的过来看看了,送100分 大侠,请进????????? MFC 按钮 急:请教怎样在输入框中显示变量内容?我在线等答复!谢了! 请看看这里~~,如何进行这样的错误处理?
LOGFONT lf;
lf.lfUnderline=true;
CFontDialog dlg;
dlg.DoModal();
memcpy(&lf, dlg.m_cf.lpLogFont, sizeof(LOGFONT));打开对话框无下划线!
CFontDialog dlg(&m_logfont);
dlg.DoModal();
lf.lfUnderline=true;
CFontDialog dlg(&lf,CF_EFFECTS | CF_SCREENFONTS,NULL,NULL);
dlg.DoModal();
int rn = dlg.DoModal();
if(rn == IDOK)
{
dlg.GetCurrentFont(&m_logfont);
m_bFontSel = TRUE;
}
lf.lfUnderline=true;
CFontDialog dlg(&lf,CF_EFFECTS| CF_SCREENFONTS,NULL,NULL);
if(dlg.DoModal()==IDOK) {
memcpy(&lf, dlg.m_cf.lpLogFont, sizeof(LOGFONT));你下滑线的代码
其他的值初始都没什么问题
字体名的初始化要用32位的数组来初始化,字体用NULL来结束。
lf.lfUnderline=true;
CFontDialog dlg(&lf,CF_EFFECTS| CF_SCREENFONTS,NULL,NULL);
if(dlg.DoModal()==IDOK) {
memcpy(&lf, dlg.m_cf.lpLogFont, sizeof(LOGFONT));你下滑线的代码
其他的值初始都没什么问题
字体名的初始化要用32位的数组来初始化,字体用NULL来结束。