现在的位置: 首页 > 综合 > 正文

计算字符串显示后占用的宽度

2013年12月02日 ⁄ 综合 ⁄ 共 511字 ⁄ 字号 评论关闭

 LOGFONT lf = { 0 };
 ::GetObject(::GetStockObject(DEFAULT_GUI_FONT), sizeof(LOGFONT), &lf);
 _tcscpy(lf.lfFaceName, _T("Microsoft YaHei"));
 lf.lfCharSet = DEFAULT_CHARSET;
 lf.lfHeight = -14;
 HFONT hFont  = ::CreateFontIndirect(&lf);
 RETURN_IF(!hFont);
 HDC hdc =  ::GetDC(this->GetHWND());
 HFONT hOldFont = (HFONT) ::SelectObject(hdc,  hFont);

 SIZE sz;
 wstring strFileName = L"ajsdjasjkdjkajskdkja"; 
 ::GetTextExtentPoint32(hdc, strFileName.c_str(), strFileName.c_str(), &sz);
 ::SelectObject(hdc, hOldFont);
 ::DeleteObject(hFont);

 

sz即表示字符串的宽度和高度

抱歉!评论已关闭.