日期:2014-05-18  浏览次数:20801 次

vs怎么实现用GDI绘的字,在固定一个范围内呢?
vs怎么实现用GDI绘的字,在固定在一个范围内,画到固定范围的最后面时,自动在第2行接着画字啊?像图片那样,从条条码的左边开始,在右边结束,当,第一行满了,自动往第2行绘制,而不是直线一直往右画,下面是我绘制条码的和字的代码,大家交流交流。我绘制的字都是在一条直线上打印的,如下面的照片

下面是绘画字和条码的代码,大家帮帮看看,指导一下,如何固定在一个范围内,画到固定范围的最后面时,自动在第2行接着画字啊?第一张照片就是我想要的效果。

------解决方案--------------------
DrawString 有重载方法的,MSDN上查查说明
------解决方案--------------------
这个范围需要你自己去固定,声明一个Rect,在窗体Resize时,调整这个区域,绘图时,均以这个区域为范围画,不要把坐标写死
------解决方案--------------------
怎么设定,只有你知道,图像怎么变化,根据什么规则变化,有多少种情况,除了你,无人知晓
------解决方案--------------------
使用GetTextExtentPoint32(HDC hdc, LPCTSTR lpString, int cbString, LPSIZE lpSize),查看文本的宽度以决定是否要换行再DrawText
------解决方案--------------------
还有就是:记得以前在Mobile上用VS2008开发空间,使用过MeasureString计算文本的宽度
------解决方案--------------------
直接用Label控件就可以了,把背景设置为透明,父控件为图片对应的控件
------解决方案--------------------
Control.DrawToImage