如何将无法显示的字符串用。代替
2008-09-08 09:12
232 查看
在进度条上分了很多个RECT,每个RECT都 显示一个Operation名字,当 名字很长时,无法显示全部,这时候需要对字符串做处理。我的方法是,当字符串的长度小于RECT的宽度时,直接将字符串在RECT的中间显示。当大于RECT的宽度时,则需要以RECT的宽度为基准。具体实现C++代码如下:
CSize size = dc.GetTextExtent(str);
if(size.cx<=m_pArrRects[i].Height()) //when rect.Weigth<=currently rect.height,direct showing;
{
dc.TextOut(m_pArrRects[i].CenterPoint().x + size.cy/2 ,m_pArrRects[i].CenterPoint().y-size.cx/2,str);
}
else//when rect.Weigth>currently rect.height,delete the end character to adapt the rect
{
int strLength=(m_pArrRects[i].Height()-40)/10;
if(strLength%2==1)//Use for Jap,and chinese
{
strLength=strLength+1;
}
CString strAdd="...";
CString strShort;
strShort=str.Left(strLength);
strShort+=strAdd;
dc.TextOut(m_pArrRects[i].CenterPoint().x + size.cy/2 ,m_pArrRects[i].top,strShort);
}
CSize size = dc.GetTextExtent(str);
if(size.cx<=m_pArrRects[i].Height()) //when rect.Weigth<=currently rect.height,direct showing;
{
dc.TextOut(m_pArrRects[i].CenterPoint().x + size.cy/2 ,m_pArrRects[i].CenterPoint().y-size.cx/2,str);
}
else//when rect.Weigth>currently rect.height,delete the end character to adapt the rect
{
int strLength=(m_pArrRects[i].Height()-40)/10;
if(strLength%2==1)//Use for Jap,and chinese
{
strLength=strLength+1;
}
CString strAdd="...";
CString strShort;
strShort=str.Left(strLength);
strShort+=strAdd;
dc.TextOut(m_pArrRects[i].CenterPoint().x + size.cy/2 ,m_pArrRects[i].top,strShort);
}
相关文章推荐
- 字符串类型html如何显示出html效果,字符串中的转义符以html效果显示出来,html编码, HtmlHelper.Raw()
- java字符串中如何显示双引号
- win7系统玩红色警戒2无法显示开始菜单如何解决
- 如何解决虚拟机安装centos无法全屏显示问题!
- 如何实现js展开收起(折叠)效果呢?例如:一段内容过长了,我限制他显示为20个字内,但是超出了20的就先用省略号代替,然后后面添加一个展开,点击展开后就显示所有的内容,这时候展开按钮就变成了 折叠按钮
- win7隐藏文件后无法找到隐藏文件如何将其显示
- Flex 3中如何显示被存储为Base64编码字符串的图片的例子
- Android【USB名称修改系列】第11项-如何修改preloader阶段的vcom口在windows右下角的提示框的字符串显示
- Flex中如何通过errorString属性在CheckBox控件上设置一个错误信息显示字符串的例子
- angular显示数据时,包含标签的字符串中,标签无法解析
- 程桌面进行远程管理服务器遇到远程桌面登陆服务器后显示黑屏,或无法显示桌面,如何处理?
- 黄聪:python控制台无法正常显示中文字符串解决方法
- 如何解决下载的CHM文件无法显示网页问题
- VC 中的IP地址控件,关联一个DWORD的变量dwValue,如何将这个dwValue按IP地址显示转化成4个数字或者字符串?
- Play FrameWork中scala.html页面如何显示带有html标签元素的字符串信息
- Android学习笔记:如何高效显示图片,避免内存溢出 和 ImageView无法显示大尺寸的图片
- font-size设置为12px以下载谷歌浏览器上无法正常显示,如何解决?
- 如何解决android应用在大屏幕手机或者平板电脑无法全屏显示的问题
- 如何将从数据库中读出的带有html标签的字符串,让标签起效,显示在前台页面
- 如何解决虚拟机安装CentOS无法全屏显示问题