CClientDC dc(GetDlgItem(IDC_STATIC));//此行代码验证过,无错
TEXTMETRIC tm;
dc.GetTextMetrics(&tm);//获得设备描述表中当前字体的高度
CSize sz=dc.GetTextExtent(m_str2);//获得字符串高度
if(3*tm.tmHeight<sz.cy)//3倍的字符高度大于字符串高度,就清空字符串
m_str2.Empty();
////////////////////////////////////////
后面的显示程序就不写了,已验证,无错
///////////////////////////////////////////
上面的程序实现不了功能,求教大神哪里错了
检测静态文本控件是否大于3行,是就清空输出的字符串,下面MFC代码实现不了
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- zuishikonghuan 2015-11-19 14:49关注
如果我没有记错,GetTextExtent得到的高度是单个字符高度而不是字符串的高度,你应该通过这个高度和字符串宽度自己计算出来真实的高度。
解决 无用评论 打赏 举报