在VB6中,MsgBox是比较讨厌的,我在整理代码的时候,通常要检查每个MsgBox的Title是否正确,因为不同的程序员有不同的习惯,有些人也愿意省略,到底有没有办法达到Msgbox中Title的统一呢?
答:当然有办法了,一种是在VB6的工程里边设置好工程的名称,然后所有的Msgbox全部全部省略Title,这样Msgbox的显示就统一了,但是这种太不爽了,在Title里边显示的控制太不灵活,而且如果有些人使用了自定义的Title也,这种方式就没有办法了。
另外一种方式是采用一个常量,然后让所有的人在Title里边引用这个常量,这种方式好像解决了问题,但是如果别人没有使用这个常量呢?也不好办呀。
到底有没有好的办法呢?呵呵,VB6里边可以这样解决。
在模块里边定义一个Msgbox函数,这个函数就会覆盖系统提供的Msgbox了,问题也就解决了,很简单的。
代码如下:
'
封装MsgBox,保证提示的一致性
Public
Function
MsgBox
(Prompt
As
String
, Optional Button
As
VbMsgBoxStyle, Optional Title
As
String
=
""
)
As
VbMsgBoxResult
MsgBox
=
VBA.MsgBox(Prompt, Button,
"
提示
"
)
End Function
这样这个Msgbox就接管系统的Msgbox了,当让通过这种方式可以覆盖很多系统函数,达到所有程序员用法的统一,如果有好的编程约束更好了,如果没有也不用头疼,管你怎么写,最后通过函数统一了就好。
呵呵,我用这个函数还要处理一下prompt里边的标点符号,我希望所有人的prompt都是英文半角的,但是还是有一些是中文的标点符号,通过这个我就可以修改这些头疼的东西了。