读书人

用了10分钟做了个小玩意:字符画转换解

发布时间: 2012-04-02 19:58:59 作者: rapoo

用了10分钟做了个小玩意:字符画转换
想做个可以将文字转换为字符表示的工具,例如,将 A 转换成下面的样子

6
6
6 6
6 6
6 6
6 6
6666666
6 6
6 6
6 6

网上找的工具感觉不太理想,大概想了下,原理很简单,于是就自己做一个,代码很简单

在窗体上放上两个textbox,一个command,一个picturebox,name使用默认的.

对text1,text2都设置多行文本,双滚动条,将text1的字体设置为fixday,不设置也行,不过这种字体显示起来比较好看
picture1设置autodraw=true

代码如下:

VB code
Option ExplicitPrivate Declare Function DrawText Lib "user32.dll" Alias "DrawTextW" (ByVal hdc As Long, ByVal lpStr As Long, ByVal nCount As Long, ByRef lpRect As RECT, ByVal wFormat As Long) As LongPrivate Const DT_CALCRECT As Long = &H400Private Type RECT    Left As Long    Top As Long    Right As Long    Bottom As LongEnd TypePrivate Sub Command1_Click()Text1.text = ToText(Picture1, Text2.text, "6")End SubPrivate Function ToText(pct As PictureBox, text$, tRe$) As StringDim i&, j&Dim sAll$, tStr$Dim rc As RECTpct.ClsDrawText pct.hdc, StrPtr(text), -1, rc, DT_CALCRECTDebug.Print rc.Right, rc.Bottom3C", "255


程序运行后,点按钮就能看到效果了

[解决办法]
还是设置为Fixedsys较好,毕竟是等宽的,排得整齐。

对了,lingll啊,我看你在有些文章中说,在vb6的窗体中直接放置activex控件的话,会有内存泄漏的BUG,所以你那个LE是自己通过类方式创建webbrowser的。能举例说明一下这个内存泄漏的表现吗?一直困惑,谢谢。:)
[解决办法]
直接用picture1.print 画就行了,为什么要绕个圈呀
[解决办法]
路过,JF
[解决办法]
控制文字大小可以这样,
Picture1.Print "你好"
Picture1.FontSize = 12
Picture1.Print "AWN123456 MM"
Picture1.FontSize = 18
Picture1.Print "AWN123456 MM"

[解决办法]
路过顶贴…………

[解决办法]

[解决办法]
探讨
不是控制,是计算实际占用像素(的范围)的长宽

[解决办法]
如果用Wingdings字体还能拼各种图案呢。
[解决办法]
UPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUP
[解决办法]
看到各位功力如此深厚,能否斗胆请教个问题:在文本框任意输入一个汉字,在另一个文本框转换成32个十六进制的代码。如何用VB编程实现?
[解决办法]
看不明白这个转换的算法“在另一个文本框转换成32个十六进制的代码”
[解决办法]
不错啊
[解决办法]
探讨
看到各位功力如此深厚,能否斗胆请教个问题:在文本框任意输入一个汉字,在另一个文本框转换成32个十六进制的代码。如何用VB编程实现?

[解决办法]
上面的
For i = 0 To 31
b(n)=0
next i
应改为
For i = 0 To 31
b(i)=0
next i


[解决办法]

[解决办法]
Friendly UP!

[解决办法]
现在已经有人做到笔锋级别了,楼主加油。

[解决办法]
18楼的方法可行,我已经试过了,果然是卧虎藏龙!只不过取出的代码还原成文字后变了形。
[解决办法]

探讨
18楼的方法可行,我已经试过了,果然是卧虎藏龙!只不过取出的代码还原成文字后变了形。

[解决办法]
探讨
引用:
现在已经有人做到笔锋级别了,楼主加油。


什么叫笔锋级别呢?

[解决办法]
现在找不到例子了,拿“田”字来说,你用

C/C++ code
########  #  #########  #  ########
[解决办法]
高手多多啊~~~~···
[解决办法]
楼主很久不见!啊哈哈!欢迎回来地球
[解决办法]
哈哈,这都被你发现了!

以前从你的LE里学了不少东西呀,哇哈哈.
[解决办法]
探讨
哈哈,这都被你发现了!

以前从你的LE里学了不少东西呀,哇哈哈.

[解决办法]
建议大家下载SigZag软件玩玩
[解决办法]
探讨
网上找的工具感觉不太理想,大概想了下,原理很简单,于是就自己做一个,代码很简单

读书人网 >VB

热点推荐