问个CreateFont的问题 如何根据字体名称、大小来计算CreateFont中的字体高度和宽度? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 已经用下面的公式计算出来了。nHeight = -MulDiv(PointSize, GetDeviceCaps(hDC, LOGPIXELSY), 72) 換成問另外一個問題吧DrawText 函數加DT_WORDBREAK時只是在单词与单词之间有空格时才会换行。1。如何使没有空格的一串字符也能换行?我有看过这样的效果,但不知是如何实现的。2。DT_WORDBREAK 和 DT_DT_WORD_ELLIPSIS 是否可以一直使用 第1个问题,没有空格照样能换行,如以下代码:DrawText Me.hdc, s, LenB(StrConv(s, vbFromUnicode)), rc, DT_LEFT Or DT_WORDBREAK也可以不使DT_LEFT。关键是rc的宽度要比用DT_CALCRECT计算出来的宽度要小,并且不能使DT_TOP、DT_VCENTER、DT_BOTTOM。第2个问题,不能在一起使用。但你可以自己实现。首先计算出字符串单行输出时的宽度和高度,然后计算出多行输出时矩形的宽度和度,计算二者的差值截取字符串,再在字符串后补上“...”符号即可。 谢谢,我用DT_WORDBREAK Or DT_EDITCONTROL已经实现了无空格自动换行,可有一个缺点:就是在垂直方向上只能是在最上面,无法在中间或底部,不知如何修正? VB(共享方式)访问ACCESS的几大问题! VB6 用libmysql.dll连MYSQL 【跪求】有谁知道怎么在vb中调用windows 截屏的api函数!!! VB文本框格式 调Excel 合并单元格问题 怎样在datagrid中修改和删除数据? 获取ActiveDLL的工程名和类名 我要在输入框内限制数字和点,请问"点"的常量值是什么 关于mapinfo和vb如何结合编程 请问怎么给别人分(很幼稚)? 菜鸟找师傅--关于登录时数据的校验 自动排序演示出现的问题
DrawText Me.hdc, s, LenB(StrConv(s, vbFromUnicode)), rc, DT_LEFT Or DT_WORDBREAK
也可以不使DT_LEFT。关键是rc的宽度要比用DT_CALCRECT计算出来的宽度要小,并且不能使DT_TOP、DT_VCENTER、DT_BOTTOM。
第2个问题,不能在一起使用。但你可以自己实现。
首先计算出字符串单行输出时的宽度和高度,然后计算出多行输出时矩形的宽度和度,计算二者的差值截取字符串,再在字符串后补上“...”符号即可。