阿辉 发表于 2005-11-2 09:09:37

[转帖]谈谈如何在图片框上输出透明文字

1、声明API函数: <BR>FUNCTION ulong GetDC(ulong hwnd) LIBRARY "user32.dll" <BR>FUNCTION ulong SetBkMode(ulong hdc,ulong nBkMode) LIBRARY "gdi32.dll" <BR>FUNCTION ulong TextOut(ulong hdc,ulong x,ulong y,ref string lpString,ulong nCount) LIBRARY "gdi32.dll" ALIAS FOR "TextOutA" <BR>2、声明一窗口级实例变量: <BR>//获取图片框的句柄 <BR>ulong i_ulng_handle <BR>3、在窗口中放入一图片框控件,名为:p_1,在constructor事件中加入以下代码: <BR>i_ulng_handle=getdc(handle(this)) <BR>//设置此控件的背景为透明模式 <BR>setbkmode(i_ulng_handle,1) <BR>4、加一按纽,text为:写字,单击事件中加入以下代码: <BR>long lng_len,lng_x,lng_y <BR>string str_text <BR>str_text="这只是测试" <BR>lng_len=len(str_text)
<P>//使文字在图片中居中 <BR>lng_x=unitstopixels((p_1.width - lng_len*40),xunitstopixels!) /2 <BR>lng_y=unitstopixels(p_1.height - 40,yunitstopixels!) /2 <BR>//这是必需的,不知为啥? <BR>p_1.enabled=false <BR>//输出文字 <BR>textout(i_ulng_handle,lng_x,lng_y,str_text,lng_len) <BR>5、加一按纽,text为:抹掉,单击事件中加入以下代码: <BR>p_1.enabled=true </P>
<P>[注]以上的代码还有很多不足的地方,因本人水平有限,如有哪位高手看到此段代码后有更好的解决办法或能将此代码进一步完善,请回复此贴,本人也想向各位高手好好学习学习。多谢! <BR></P>
<P>→我是小木鱼(Lag)<BR></P>
页: [1]
查看完整版本: [转帖]谈谈如何在图片框上输出透明文字

免责声明:
本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Admin@SybaseBbs.com