MFC应用实例:[37]Combo Box设置字体大小
1、新建一个基于对话框的应用程序,工程名为ComboBox。
![MFC应用实例:[37]Combo Box设置字体大小](https://exp-picture.cdn.bcebos.com/304f0999e92abab8b865914d4814f1c594eea1b9.jpg)
2、如下图为对话框添加一个Combo Box控件和一个Static Text控件,把Combo Box控件的sort属性设置为false。
![MFC应用实例:[37]Combo Box设置字体大小](https://exp-picture.cdn.bcebos.com/94af5fc1b727ac5304ae6a9f2ecadce8914899b9.jpg)
3、在初始化函数OnInitDialog()中添加一下代码:
//初始化combo box控件
CString strTemp;
((CComboBox*)GetDlgItem(IDC_COMBO1))->ResetContent();//消除现有所有内容
//添加项
((CComboBox*)GetDlgItem(IDC_COMBO1))->AddString(_T("选择字体大小..."));
//添加1 ~ 20的字号选择项
for(int i = 1; i <= 40; i++)
{
strTemp.Format(_T("%d"), i);
((CComboBox*)GetDlgItem(IDC_COMBO1))->AddString(strTemp);
}
![MFC应用实例:[37]Combo Box设置字体大小](https://exp-picture.cdn.bcebos.com/a48bc2e8904800fc7fd163bdd42043715edb93b9.jpg)
4、双击Combo Box添加响应函数OnCbnSelchangeCombo1(),在响应函数OnCbnSelchangeCombo1()中添加一下代码:
//获得选择的字号
int index = ((CComboBox*)GetDlgItem(IDC_COMBO1))->GetCurSel();//当前选中的行。
//创建新字体
CFont* pFont = new CFont;
if(pFont != NULL)
pFont->CreateFont(
index, 0, 0, 0, FW_NORMAL, FALSE,
FALSE, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,
DEFAULT_PITCH | FF_SWISS, _T("宋体"));
//设置控件字体
GetDlgItem(IDC_STATIC)->SetFont(pFont);
![MFC应用实例:[37]Combo Box设置字体大小](https://exp-picture.cdn.bcebos.com/5e615d715fdb3620b71c363aabc5260f89358db9.jpg)
5、程序运行如下:通过Combo Box控件来来设置Static Text控件中文字的大小。
![MFC应用实例:[37]Combo Box设置字体大小](https://exp-picture.cdn.bcebos.com/274e9635dd8a59de502173b2b370d5413b8c84b9.jpg)