|
另类Msgbox(1)
写过VB的人都知道Msgbox函数弹出系统提示对话框,这个对话框既然是Windows给我们使用的那么我们就可以通过别的方式改变它。 下面我就会调用MessageBox的Api来改变VB的对话框函数,创造出我们自己风格的Msgbox! 该例程是将Msgbox弹出,并且总是位于窗口的中央;而且修改了Msgbox中的“确定”按钮上的文字。程序中简单的使用了Windows的钩子。
1·加入一个模块:
Option EXPlicit '--------------------API声明部分-------------------- Private Const WH_CBT = 5 Private Const HCBT_ACTIVATE = 5 Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type '使用API的MessageBox替代VB系统的MsgBox Private Declare Function MessageBox Lib "user32" _ Alias "MessageBoxA" _ (ByVal hWnd As Long, _ ByVal lpText As String, _ ByVal lpCaption As String, _ ByVal wType As Long) As Long Private Declare Function SetWindowsHookEx Lib "user32" _ Alias "SetWindowsHookExA" _ (ByVal idHook As Long, _ ByVal lpfn As Long, _ ByVal hmod As Long, _ ByVal dwThreadId As Long) As Long Private Declare Function UnhookWindowsHookEx Lib "user32" _ (ByVal hHook As Long) As Long Private Declare Function MoveWindow Lib "user32" _ (ByVal hWnd As Long, _ ByVal X As Long, _ ByVal Y As Long, _ ByVal nWidth As Long, _ ByVal nHeight As Long, _ ByVal bRepaint As Long) As Long Private Declare Function GetWindowRect Lib "user32" _ (ByVal hWnd As Long, _ lpRect As RECT) As Long Public Declare Function GetDlgItem Lib "user32" _ (ByVal hDlg As Long, ByVal nIDDlgItem As Long) As Long
|