我使用字体对话框,GetLogFont(&logfont),logfont.lfHeight为负,如何转化为毫米?! 我使用字体对话框,GetLogFont(&logfont),logfont.lfHeight为负,如何转化为毫米?! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.sdlgame.com/reference/Programming%20Windows/17.htm逻辑字体结构 CSize SizeExt; strCommand = "¿ËÀ­ÂêÒÀÊÐÍÁµØÐÅϢϵͳ"; dc.SetMapMode(MM_TEXT); // +y = down SizeExt = dc.GetWindowExt(); dc.SetWindowExt(500,550); dc.SetViewportExt(rect.right, rect.bottom); dc.SetViewportOrg(0, 0);// LOGFONT logfont; CFont m_biggerFont;// memset(&logfont, 0, sizeof(logfont));// logfont.lfHeight = 40;// logfont.lfWeight = FW_BOLD;// CString szFont;// szFont.LoadString(IDS_FONT_NAME); // TrueType font// lstrcpy(logfont.lfFaceName, strCommand);// VERIFY(m_biggerFont.CreateFontIndirect(&logfont));// SetFont(&m_biggerFont);// InputEdit().SetFont(&m_biggerFont); m_biggerFont.CreateFont(0.13630*rect.Height(), 0, 0, 0, 900, FALSE, FALSE, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_SWISS, "Arial"); // not TrueType// dc.SelectObject(&m_biggerFont); CFont* pOldFont = dc.SelectObject(&m_biggerFont); TEXTMETRIC tm; char szFaceName[100]; dc.GetTextMetrics(&tm); dc.GetTextFace(99, szFaceName); TRACE("font = %s, tmHeight = %d, tmInternalLeading = %d," " tmExternalLeading = %d\n", szFaceName, tm.tmHeight, tm.tmInternalLeading, tm.tmExternalLeading);// TraceMetrics(dc(this)); // dc.SetTextAlign(TA_BASELINE | TA_CENTER); dc.SetTextColor(RGB(255, 0, 0)); dc.SetBkMode(TRANSPARENT); dc.TextOut(rect.left+rect.Width()*0.015, rect.top+rect.Height()*0.40981067, strCommand); TextRect = rect; TextRect.left = rect.left+rect.Width()/2-80; TextRect.top = rect.top+rect.Height()/2-20; TextRect.right = TextRect.left+260; TextRect.bottom = TextRect.top + 80;// dc.DrawText(strCommand, TextRect,// DT_SINGLELINE | DT_CENTER | DT_VCENTER); dc.SelectObject(pOldFont); int nOldMM = SetMapMode(MM_HIMETRIC); GetLogFont(&logfont);int mm = logfont.lfHeight*100; SetMapMode(nOldMM); mm应该就是毫米数怎么开了这么多?楼主腐败啊! 在CCombox的SELCHANGE事件中无法取得正确的值。 Alt+s快捷键无法响应 但是ctrl+s是可以的~ 有代码,大侠看看啥问题 <讨论>主板硬件测试程序设计 网络音频的获取+ActiveX 关于显示位图的问题 在已经打开的记录集中,如何根据条件将记录集指针移动到符合条件的记录上? 还在学习和使用VC的同志们,你们危险啊!!!!! 1如何HOOK这个函数GetTickCount kwiner来接分,3ks char数组做参数时,长度改变 如何定义和使用全局变量! 用MFC生成的窗口上怎么屏蔽鼠标?
strCommand = "¿ËÀ­ÂêÒÀÊÐÍÁµØÐÅϢϵͳ"; dc.SetMapMode(MM_TEXT); // +y = down
SizeExt = dc.GetWindowExt();
dc.SetWindowExt(500,550);
dc.SetViewportExt(rect.right, rect.bottom);
dc.SetViewportOrg(0, 0);// LOGFONT logfont;
CFont m_biggerFont;
// memset(&logfont, 0, sizeof(logfont));
// logfont.lfHeight = 40;
// logfont.lfWeight = FW_BOLD;
// CString szFont;
// szFont.LoadString(IDS_FONT_NAME); // TrueType font
// lstrcpy(logfont.lfFaceName, strCommand);
// VERIFY(m_biggerFont.CreateFontIndirect(&logfont));
// SetFont(&m_biggerFont);
// InputEdit().SetFont(&m_biggerFont);
m_biggerFont.CreateFont(0.13630*rect.Height(), 0, 0, 0, 900, FALSE, FALSE, 0,
DEFAULT_CHARSET, OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,
DEFAULT_PITCH | FF_SWISS, "Arial"); // not TrueType
// dc.SelectObject(&m_biggerFont);
CFont* pOldFont = dc.SelectObject(&m_biggerFont);
TEXTMETRIC tm;
char szFaceName[100]; dc.GetTextMetrics(&tm);
dc.GetTextFace(99, szFaceName);
TRACE("font = %s, tmHeight = %d, tmInternalLeading = %d,"
" tmExternalLeading = %d\n", szFaceName, tm.tmHeight,
tm.tmInternalLeading, tm.tmExternalLeading);
// TraceMetrics(dc(this));
// dc.SetTextAlign(TA_BASELINE | TA_CENTER);
dc.SetTextColor(RGB(255, 0, 0));
dc.SetBkMode(TRANSPARENT);
dc.TextOut(rect.left+rect.Width()*0.015, rect.top+rect.Height()*0.40981067, strCommand);
TextRect = rect;
TextRect.left = rect.left+rect.Width()/2-80;
TextRect.top = rect.top+rect.Height()/2-20;
TextRect.right = TextRect.left+260;
TextRect.bottom = TextRect.top + 80;
// dc.DrawText(strCommand, TextRect,
// DT_SINGLELINE | DT_CENTER | DT_VCENTER);
dc.SelectObject(pOldFont);
GetLogFont(&logfont);
int mm = logfont.lfHeight*100;
SetMapMode(nOldMM); mm应该就是毫米数
怎么开了这么多?楼主腐败啊!