MFC获取及设置默认字体

//设置文本框字体
	CFont* ptf = m_editUserName.GetFont(); // 得到原来的字体  
	LOGFONT lf;   
	ptf->GetLogFont(&lf);   
	lf.lfHeight = 20; // 改变字体高度   
	//strcpy (lf.lfFaceName, "隶书"); // 改变字体名称   
	m_editFont.CreateFontIndirect(&lf);   
	m_editUserName.SetFont(&m_editFont); // 设置新字体
m_editFont要设置为类变量,否则字体可能不起作用。
C++MFC(Microsoft Foundation Classes)中,如果你想要设置一个Edit控件的字体大小,可以通过调用CFont类来创建一个新的字体对象,并将该字体应用到Edit控件上。以下是一个简单的示例代码,展示了如何设置Edit控件的字体大小: ```cpp // 假设m_EditControl是你想要设置字体的CEDIT派生类对象 // 你需要先获取Edit控件的指针 CEDIT* pEdit = (CEDIT*)GetDlgItem(IDC_YOUR_EDIT_CONTROL_ID); ASSERT_VALID(pEdit); // 确保控件有效 // 创建一个新的CFont对象 CFont font; LOGFONT lf; // 定义一个LOGFONT结构体变量,用于设置字体属性 // 获取当前系统字体属性 GetStockObject(DEFAULT_GUI_FONT)->GetLogFont(&lf); // 默认GUI字体 // 修改字体属性,例如设置字体大小 lf.lfHeight = -MulDiv(10, GetDeviceCaps(pEdit->GetDC()->m_hDC, LOGPIXELSY), 72); // 设置字体大小为10点 // 使用LOGFONT结构体创建字体 font.CreateFontIndirect(&lf); // 将创建的字体选入Edit控件 CFont* pOldFont = pEdit->GetFont(); // 获取当前Edit控件的字体指针 pEdit->SetFont(&font); // 应用新字体 // 不要忘记删除旧字体和创建的新字体,避免内存泄漏 pOldFont->DeleteObject(); font.DeleteObject(); ``` 请将`IDC_YOUR_EDIT_CONTROL_ID`替换为你的Edit控件在资源中的ID。`10`是字体大小,可以根据你的需要修改这个值。注意,`lfHeight`的值通常是负数,表示字体的高度(以像素为单位)。在设置字体大小时,使用`MulDiv`函数可以确保字体大小与设备无关,这样在不同分辨率的屏幕上都能保持一致的视觉效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值