日期:2014-05-18  浏览次数:20978 次

一小段c++,求翻译成c#。。。
// 定义为成员变量  
CFont font;  
TCHAR szPath[MAX_PATH];
  
// 初始化函数  
_tcscpy(szPath, _T("%s"), _T("F://11.ttf"));  
LOGFONT lf;  
lf.lfHeight = 60;  
lf.lfWidth = 30;  
lf.lfEscapement = 0;  
lf.lfOrientation = 0;  
lf.lfWeight = 90;  
lf.lfItalic = 0;  
lf.lfUnderline = 0;  
lf.lfStrikeOut = 0;  
lf.lfCharSet = DEFAULT_CHARSET;  
lf.lfOutPrecision = 0;  
lf.lfClipPrecision = CLIP_STROKE_PRECIS;  
lf.lfQuality = 0;  
lf.lfPitchAndFamily = 0;  
_tcscpy(lf.lfFaceName, _T("XXX")); // 这里就是字体名  
font.CreateFontIndirect(&lf);  
ASSERT(font.GetSafeHandle());  
  
// 之后就可以调用下面的代码来设置字体了  
if(!AddFontResource(szPath))  
{  
  AfxMessageBox(_T("Load font failed."));  
  return ;  
}  
::SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);  
GetDlgItem(IDOK)->SetFont(&font);  
  
// 最后不需要的时候释放字体资源  
RemoveFontResource(szPath); 


------解决方案--------------------
C#根本不需要这样的代码。

因为System.Drawing.Font 已经对字体作了封装。