CFontDialog类初始化研究

首先了解LOGFONT结构体 :标红的一般为需要设置的属性,

lfHeight: 字体的平均字符高度,指定为负数表示与设备相关(使用设备逻辑单位)。

lfWidth: 字体字符的平均宽度,通常忽略此值。

lfEscapement: 字符串的输出方向与 x 轴的角度,以十进制度数表示。

lfOrientation: 字符串的基线方向与 x 轴的角度,以十进制度数表示。

lfWeight: 字体的粗细程度,取值范围从 0 到 1000。(一般400为常规,700为粗体)

lfItalic: 是否将字体设置为斜体(非零值表示是)。

lfUnderline: 是否将字体设置为下划线(非零值表示是)。

lfStrikeOut: 是否将字体设置为删除线(非零值表示是)。

lfCharSet: 字符集标识,指定字体所支持的字符集。

lfOutPrecision: 输出精度,指定用于选择字体的输出精度。

lfClipPrecision: 剪辑精度,指定用于选择字体的剪辑精度。

lfQuality: 字体质量,指定用于选择字体的质量级别。

lfPitchAndFamily: 字体类型和字体系列的属性。

lfFaceName: 字体名称字符串,用于存储字体的名称。

实现的代码如下:

CFontDialog dlg;
LOGFONT lf;
memset(&lf, 0, sizeof(LOGFONT));
lstrcpy(lf.lfFaceName, _T("Arial"));
lf.lfHeight = -24;
lf.lfWeight = FW_NORMAL;
dlg.m_cf.lpLogFont = &lf;//1.设置LPLOGFONTW类型指针,用来初始化CFontDialog ;
dlg.m_cf.Flags |= CF_INITTOLOGFONTSTRUCT;//2.设置 CF_INITTOLOGFONTSTRUCT 标志并用与             
                                         // LOGFONT 成员匹配的字体初始化对话框
    

同时也可以用某个控件的字体来初始化CFontDialog,列如用CEdit类字体初始化:

CFontDialog dlg;
CEdit m_Edit ;//关联某个Edit控件
CFont m_font=mEdit.GetFont();
LOGFONT lf;
    memset(&lf, 0, sizeof(LOGFONT));
	m_font.GetLogFont(&lf);
    dlg.m_cf.lpLogFont = &lf;
    dlg.m_cf.Flags |= CF_INITTOLOGFONTSTRUCT;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值