我使用如下的代码动态创建按钮:对话框类的成员变量:
CButton *m_pMyButton;
按钮响应函数:
m_pMyButton = new CButton();
CRect rcBtn(0, 0, 100, 20);
m_pMyButton->Create(TEXT("Button1"), WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_PUSHBUTTON,
rcBtn, this, 1000);但是创建的按钮的字体和系统默认的不一致
如下图所示上面那个红线框住的是动态创建的
下面那个是系统默认的
系统默认的字体如图所示:请问我应该如何在
CreateFont里面设置蚕食
然后m_pMyButton->SetFont(&m_font);
才可以达到和系统里面一样大小,类型的字体
CButton *m_pMyButton;
按钮响应函数:
m_pMyButton = new CButton();
CRect rcBtn(0, 0, 100, 20);
m_pMyButton->Create(TEXT("Button1"), WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_PUSHBUTTON,
rcBtn, this, 1000);但是创建的按钮的字体和系统默认的不一致
如下图所示上面那个红线框住的是动态创建的
下面那个是系统默认的
系统默认的字体如图所示:请问我应该如何在
CreateFont里面设置蚕食
然后m_pMyButton->SetFont(&m_font);
才可以达到和系统里面一样大小,类型的字体
m_pMyButton->SetFont(m_pMyButton->GetParent()->GetFont());
如果你有父窗口的类变量,可以直接用:
m_pMyButton->SetFont(pmyXXXWnd->GetFont());
CFont l_font;
LOGFONT lf;
lf.lfHeight = 12;
strcpy(lf.lfFaceName, "Arial"); // Need a face name "Arial".
l_font.CreateFontIndirect(&lf);
CFont* l_old_font = dc.SelectObject(&l_font);
............省略号里面用你的set
dc.SelectObject(l_old_font);
// Delete the font object.
l_font.DeleteObject();