idc-检测静态文本控件是否大于3行,是就清空输出的字符串,下面MFC代码实现不了

问题描述

检测静态文本控件是否大于3行,是就清空输出的字符串,下面MFC代码实现不了

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();
////////////////////////////////////////
后面的显示程序就不写了,已验证,无错
///////////////////////////////////////////
上面的程序实现不了功能,求教大神哪里错了

解决方案

如果我没有记错,GetTextExtent得到的高度是单个字符高度而不是字符串的高度,你应该通过这个高度和字符串宽度自己计算出来真实的高度。

时间: 2024-11-03 13:45:01

idc-检测静态文本控件是否大于3行,是就清空输出的字符串,下面MFC代码实现不了的相关文章

MFC 可以设置背景色、字体、字体颜色、透明背景的 Static 静态文本控件

MFC库里没有符合这个条件的控件,于是我自己写了一个,初步测试有效. 注:可以设置透明背景,但还不能做到透明度设置(如50%透明度)         如果设置了背景色,就不保留透明背景         默认背景色是透明的 [cpp] view plaincopy // 设置背景色(若clr为CLR_NONE,则背景透明)   void SetBackgroundColor(COLORREF clr){m_clrBackground = clr;}   // 设置文字前景色   void SetT

Windows 8 Store Apps学习(1) 文本控件

TextBlock, TextBox, PasswordBox, RichEd 介绍 重新想象 Windows 8 Store Apps 之文本控件 TextBlock - 文本显示框 TextBox - 文本输入框 PasswordBox - 密码输入框 RichEditBox - 富文本编辑框 RichTextBlock - 富文本显示框 RichTextBlockOverflow - 溢出文本显示框 示例 1.TextBlock 的 Demo TextBlockDemo.xaml <Pag

jquery检测input checked 控件是否被选中的方法

 这篇文章主要介绍了jquery检测input checked 控件是否被选中的方法,需要的朋友可以参考下 jquery检测input checked 控件是否被选中    js部分   代码如下: function tongyianniu(){  var gouxuan=$('input[type=checkbox]').is(':checked');  alert(gouxuan);  }    html部分  代码如下: <input type="button" id=&q

宽度自动变化-Linearlayout宽度如何随里面的文本控件宽度变化而变化?

问题描述 Linearlayout宽度如何随里面的文本控件宽度变化而变化? 一个linearlayout里面有个文本,我想的效果是,文本的内容会变化,宽度也变化:实际效果是当linearlayout的被撑宽了,里面的文本变短后, linearlayout还是之前那么长,有没有什么办法让他随着文本宽度变化而变化呢? <LinearLayout android:id=""@+id/flower_hint"" android:layout_width="&

重新想象 Windows 8 Store Apps (1) - 控件之文本控件: TextBlock, TextBox, PasswordBox, RichEditBox, RichTextBlock, RichTextBlockOverflow

原文:重新想象 Windows 8 Store Apps (1) - 控件之文本控件: TextBlock, TextBox, PasswordBox, RichEditBox, RichTextBlock, RichTextBlockOverflow [源码下载] 重新想象 Windows 8 Store Apps (1) - 控件之文本控件: TextBlock, TextBox, PasswordBox, RichEditBox, RichTextBlock, RichTextBlockO

如何给溶器里的文本控件赋值?

问题描述 如何给panel容器里的几个textbox文本控件用循环语名赋值?还请大家多多指教! 解决方案 解决方案二:foreach(Controlcinpanel1.Controls){if(cisTextBox){TextBoxt=(TextBox)c;t.Text="aaa";}} 解决方案三:for(inti=1;i<=10;i++){TextBoxtb=(TextBox)Panel1.FindControl("TextBox"+i);tb=i;} 解

jquery检测input checked 控件是否被选中的方法_jquery

jquery检测input checked 控件是否被选中 js部分 复制代码 代码如下: function tongyianniu(){ var gouxuan=$('input[type=checkbox]').is(':checked'); alert(gouxuan); } html部分 复制代码 代码如下: <input type="button" id="btnRegister" onclick="tongyianniu();"

c# dev gridview-【DEV控件】如何保存行数动态增加的gridview内容?

问题描述 [DEV控件]如何保存行数动态增加的gridview内容? gridview表的行数动态增加,单不管多少行,我都要一次性将所有不为空的行的内容插入到数据库 请问以上操作应该如何处理? 自己想的是,根据gridview的行数循环判断,将不为空的内容逐一插入到数据库里,这个方法可行吧?

activex-求高级点的dotnet ActiveX曲线控件有源码也行

问题描述 求高级点的dotnet ActiveX曲线控件有源码也行 x y抽可以自由拉大缩小和推动,伴随曲线方法缩小 支持鼠标移动时显示横纵虚线,并能显示所在点位置的x y值描述能修改,曲线支持多通道,抽描述,抽范围,曲线名字,通道颜色等等属性可以修改 解决方案 用.net原生控件,目前基本是4分天下,componentone.devexpress.devcomponents和netadvantage 解决方案二: 没用过不知道怎么用了