一小段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 已经对字体作了封装。