挖掘 VB 6 更多不为人知的功能

作者在 2006-08-07 08:46:00 发布以下内容

时间已经过了12点,这是昨天的事了。通过 Internet,我看见了 VB 6 那个还是黑暗的“高级功能”的角落。原来 VB 6 并不真的太逊色!它并不是一种容易上手的编程玩具!和各位分享吧……

Shell 函数大家都知道怎么用吧?(没用过的搜一下),它的返回值原来是用 shell 打开的程序的线程号(Process ID)!这样就可以用一些 api 函数来实现对打开的程序的设置了。不过这个不太令人惊奇,更有意思的是有一个 api 函数 SetParent,它可以把一个窗口放到另一个窗口里面去!就像 VB 6 设计模式时的那个白色背景的窗口,里面是所编辑的窗体一样;具体地说也就是相当于 VB MDI 窗体的一种!这个 api 函数可以在 api 浏览器里面找到,语法也很简单,只要先提供要成为子窗体的窗口句柄(hWnd),再提供父窗体的句柄,就成功了!

------------------------------------------------------------

你好,你知道 VarPtr 函数吗?它是一个隐藏的 VB 函数,如果你不设置查看的话是看不到它的。它可以让 VB 程序实现与 VC 一样的指针功能,也就是可以返回一个变量的地址(暂时只知道可以得到变量、类型(Type)地址,常量没试过),如果你是新手,你是不是感到惊讶呢?其实不必惊讶,VB 还是很强大的。下面的程序验证了 VarPtr 的功能:

Private Sub Form_Load()
    Dim i As Integer
    MsgBox VarPtr(i)
End Sub

------------------------------------------------------------

Switch 函数是一个在 VBA 的 Interaction 类里面的成员。它可以灵活地根据表达式的真假(True/False),返回一个表达式。例如:

Dim i As Integer, strNumber As String
i = 5
  strNumber = Switch(i > 0, "正数" _
                               , i = 0, "零" _
                               , i < 0, "负数")
MsgBox i & " 是" & strNumber & "!"

上面的程序将弹出一个对话框“5 是正数!",这是 Switch 根据 i 的值来判断 i 是正/负数还是零。为了便于阅读,我将 Switch 中每个判断分支分行显示。相信你已经看到了 Switch 的作用了吧?它其实是一种 Select Case 语句的“缩略版”。在 Interaction 类里,还有几个与 Switch 有相似作用的逻辑判断语句,例如 IIf (根据一个表达式的真假来返回相应的表达式)、Choose(根据一个表达式的整数值,从 1 开始顺数判断,并返回相应的表达式)。

 

这些都是在这个网站看到的 :“中国 VB 网”http://www.chinavb.net 里面有很多有用的文章和编程相关软件下载!(就当我是卖广告的吧,反正真的挺好用)

默认分类 | 阅读 3170 次
文章评论,共0条
游客请输入验证码
浏览11122次
文章分类