我们使用MFC 对话框默认使用的字体是 MS Shell 请问如何在代码设置
时间: 2024-09-21 21:09:11 浏览: 30
MFC(Microsoft Foundation Classes)默认情况下确实使用了MS Shell的字体作为其对话框的字体。如果你想在代码中修改这种默认设置,可以按照以下步骤操作:
1. 打开你的对话框头文件(`.h`),通常它会有一个成员变量表示对话框的字体,例如 `afxMessageFont` 或者 `m_font`。
2. 在对话框的构造函数(`OnInitDialog()` 或 `PreCreateWindow()`)中,你可以直接设置这个字体,比如:
```cpp
// CMyDlg.h
...
afx_msg DECLARE_MESSAGE_MAP()
private:
CFont m_Font; // 如果是CFont类型的变量
public:
afx_msg void OnInitialUpdate(); // 添加这个消息处理函数,用于初始化字体
...
// CMyDlg.cpp
...
BEGIN_MESSAGE_MAP(CMyDlg, CDlg)
ON_WM_INITDIALOG()
// 其他消息映射...
END_MESSAGE_MAP()
void CMyDlg::OnInitialUpdate() {
if (!m_Font.IsNull()) { // 判断字体是否已经被设置过
CDC* pDC = GetDC();
m_Font.CreatePointFont(_T("Arial"), 8); // 使用 Arial 字体,大小可根据需要调整
SetFont(&m_Font);
ReleaseDC(pDX, pDC);
}
}
```
这里的 _T("Arial") 可以替换为你想要的字体名称,大小可以根据需求进行修改。