hur.cn - 华软网

 热门搜索

如何根据给定条件纵向多行输出字符?

  作者:未知    来源:网络    更新时间:2011/1/7
想在屏幕的某个区域纵向输出一段文字(可变)。要求是这个区域的高度固定,文字从上往下输出,如果太长则自动换行,从左往右一列一列输出。我设定了LOGFONT的lfEscapement=2700,然则在用DrawText的DT_WORDBREAK | DT_CALCRECT模式去计算实际需要输出的区域宽度时,总是得不到合适的选项。是否是CALCRECT模式不论横向照旧纵向输出,它都只会在纵向上扩展,而不能扩展横向?有没有好措施能够纵向多行而且自动扩展地输出文字?谢谢!
---华软 网友回答---
有个 WIN32API GetTextMetrics() 能够计算单个字体的宽度,
然后写个函数计算,,,,,

---华软网友回复---
能够用横向的字体(你选择字体的时候前面有个@符号的都是)输出到bmp,然后把bmp转90°就能够了
---华软网友回复---
试试
DT_WORDBRAEK | DT_EDITCONTROL
---华软网友回复---
DrawText的时候,DT_WORDBREAK这个是肯定需要的,DrawText也有一个RECT参数啊。
---华软网友回复---
int intScrW= GetSystemMetrics(SM_CXFULLSCREEN);
int intScrH= GetSystemMetrics(SM_CYFULLSCREEN);

取得屏幕巨细(不含任务栏)
---华软网友回复---
根据横向输出写个算法行不行呢?
---华软网友回复---
应该不行
---华软网友回复---
好像挺难的啊,列位另有什么高招吗?
---华软网友回复---
没有人回复吗?      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。