How to resize font on the GUI buttons in MFC

Posted by ame on Stack Overflow See other posts from Stack Overflow or by ame
Published on 2010-05-26T05:42:24Z Indexed on 2010/05/26 5:51 UTC
Read the original article Hit count: 335

Filed under:
|
|
|

I have a GUI written in MFC for a Windows CE device. However I need to resize some of the buttons and their corresponding text. I can't figure out how to change font size. The following code fragments did not help:

Trial 1: *CFont fnt2;
fnt2.CreateFont(10, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, L"MS Shell Dlg");
m_btnForceAnalog.SetFont(&fnt2);
fnt2.Detach();

Trial 2:
LOGFONT lf;
memset(&lf,0,sizeof(LOGFONT));
lf.lfHeight = 5; // Request a 100-pixel-height font
// DP and LP are always the same on CE - The conversion below is used by CFont::CreateFontIndirect
HDC hDC=::GetDC(NULL);
lf.lfHeight = ::GetDeviceCaps(hDC,LOGPIXELSY) * lf.lfHeight;
::ReleaseDC(NULL,hDC);
//ReleaseDC(/NULL,/hDC);
lf.lfHeight /= 720; // 72 points/inch, 10 decipoints/point
if(lf.lfHeight > 0)
lf.lfHeight *= -1;
OutputDebugString(L"\nAbout to call the setfont\n");
lstrcpy(lf.lfFaceName, _T("Arial"));
HFONT font =::CreateFontIndirectW(&lf);
CWnd* myButton = GetDlgItem(IDC_FORCE_ANALOG_BTN); //The Button with regular font
myButton->SendMessageW(WM_SETFONT, (WPARAM)font, TRUE);

Thankyou!

© Stack Overflow or respective owner

Related posts about gui

Related posts about visual-studio-2005