使用API函数ChooseFont可以显示一个字体对话框。
MFC对字体对话框的封装类为CFontDialog
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
新建一个基于对话框的MFC应用程序FontDlgDemo
在主对话框上添加一个Rich Edit控件,将其ID改为IDC_EDT_CONTEXT
将主对话框上的“确定”按钮改为“字体...”,并为其添加响应函数:
void CFontDlgDemoDlg::OnBtnFont()
{
// TODO: Add your control notification handler code here
//定义并初始化文字格式结构
CHARFORMAT cf = {0};
cf.cbSize = sizeof(cf);
///取得文本框当前文字的格式
m_edtContext.GetSelectionCharFormat(cf);
///创建字体对话框,并用取得的字体格式初始化对话框
CFontDialog dlg(cf);
///显示对话框,选择字体信息
if(dlg.DoModal() == IDOK)
{
///取得用户所选的字体信息
dlg.GetCharFormat(cf);
将文本格式信息设置到文本框当前文本
m_edtContext.SetSelectionCharFormat(cf);
}
}
///在CFontDlgApp的InitInstance()中添加如下代码
///初始化Rich Edit 控件
AfxInitRichEdit();
说明:
注意Rich Edit 控件与Edit Box 控件的区别,在Rich Edit中可选中耽搁字进行设置