使用drawtext函数绘制时如何获取绘制的每一行的字符个数
答案:3 悬赏:0
解决时间 2021-12-16 13:35
- 提问者网友:痞子房西
- 2021-12-16 06:17
使用drawtext函数绘制时如何获取绘制的每一行的字符个数
最佳答案
- 二级知识专家网友:陪伴是最长情的告白
- 2021-12-16 07:13
给分,我教你用。。。
这我都用4,5年了。。
到时候完全可以远程给你操作演示
先给分,然后百度hi我 我教你
这我都用4,5年了。。
到时候完全可以远程给你操作演示
先给分,然后百度hi我 我教你
全部回答
- 1楼网友:安稳不如野
- 2021-12-16 07:41
函数功能:该函数在指定的矩形里写入格式化文本,根据指定的方法对文本格式化(扩展的制表符,字符对齐、折行等)。
函数原型:int DrawText(HDC hdc, LPCTSTR lpString, int nCount, LPRECT lpRect, UINT uFormat);
参数:
hdc:设备环境句柄。
lpString:指向将被写入的字符串的指针,如果参数nCount是-1,则字符串必须是以\0结束的。
如果uFormat包含DT_MODIFYSTRING,则函数可为此字符串增加4个字符,存放字符串的缓冲区必须足够大,能容纳附加的字符。
nCount:指向字符串中的字符数。如果nCount为-1,则lpString指向的字符串被认为是以\0结束的,DrawText会自动计算字符数
- 2楼网友:承载所有颓废
- 2021-12-16 07:22
第一个问题,你要用setbkmode来设置一个hdc的文字输出是否背景透明。窗体上输出的文字也并不一定是背景透明的。如果你要用bitblt来复制图片到hdc上,要注意还要先将背景先复制过来,再画上文字,最后再复制回去,但你的这个程序并不需要这样做,你可以这样做,在内存中先把窗体的会被程序修改的区域保存起来,以后在输出字符时直接将保存的背景复制回去,再用getbkmode保存窗体的原有模式,再用setbkmode设置窗体文字输出为透明模式,再用drawtext将文字输出去指定的位置,最后用setbkmode重新设置模式为原来的模式。
第二个问题,如果你的窗体本身支持font属性的话,修改font.size就可以了,如果不支持的话就用createfont之类(创建字体相关的api有好几个,按自己的需求要喜好任选一个)的函数先创建一个font句柄,然后selectobject将字体绑定到hdc上,然后输出的文字就是你指定的字体了(当然包括字体尺寸大小了。)。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯