例如一个有“确定”“取消”按钮的msgbox,想改为其他的,
有没有办法实现
有没有办法实现
解决方案 »
- 关于数据库添加记录问题
- 宏怎么转成VB
- VB是面向对象的吗?
- 谁能报我估算一下这个项目的价格
- DataEnvironment 出现数据库登陆的界面的时候按“取消”按钮程序就报错?
- 怎样实现点击mshflexgird列标头时实现对该列排序
- printer对象如何设置上边距和下边距?请高手指点一二
- timer,doevents出现很让人不可思义的问题
- 怎样在Picturebox中的指定位置写入文字,最好能设置文字的大小及颜色
- 我想把VB的 Split 函数Join函数封装DLL 给其TC用 请问如何写
- 我想弄ping某个IP是否通的按钮
- 讨论winsock控件接收数据原理,不知道大家有没有遇到过?
Private Const WH_CBT As Long = 5
Private Const HCBT_ACTIVATE As Long = 5 'HCBT_ACTIVATE时wParam是将被激活的窗口的句柄
Private Const HCBT_CREATEWND As Long = 3
Private Const HCBT_DESTROYWND As Long = 4Private 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 GetActiveWindow Lib "user32" () 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 SetDlgItemText Lib "user32" Alias "SetDlgItemTextA" (ByVal hDlg As Long, ByVal nIDDlgItem As Long, ByVal lpString As String) As Long
Private Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long
Private Hook As LongPublic Function Msgbox(Prompt As Variant, Optional Button As VbMsgBoxStyle, Optional Title As String) As VbMsgBoxResult
Hook = SetWindowsHookEx(WH_CBT, AddressOf HookProc, App.hInstance, App.ThreadID)
Msgbox = MessageBox(GetActiveWindow, Prompt, Title, Button)
End FunctionPrivate Function HookProc(ByVal Code As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If Code = HCBT_ACTIVATE Then 'HCBT_ACTIVATE时wParam是将被激活的窗口的句柄
Static Index As Long
If Index = 0 Then
SetDlgItemText wParam, vbOK, ByVal "请点击" '设定按钮的文字
SetDlgItemText wParam, vbCancel, ByVal "放弃操作"
Index = 1
End If
ElseIf Code = HCBT_DESTROYWND Then
UnhookWindowsHookEx Hook '不要再Hook,以免带来不必要的麻烦
End If
CallNextHookEx Hook, Code, wParam, lParam
HookProc = 0
End Function充分利用SetDlgItemText 你可以改变其他按钮的文字。