如何显示带有两个按钮的消息框(例如:"on"
,"off"
)?如何显示带有两个按钮的消息框?
11
A
回答
16
你可能想要做这样的事情:
result = MsgBox ("Yes or No?", vbYesNo, "Yes No Example")
Select Case result
Case vbYes
MsgBox("You chose Yes")
Case vbNo
MsgBox("You chose No")
End Select
要添加一个图标:
result = MsgBox ("Yes or No?", vbYesNo + vbQuestion, "Yes No Example")
其他图标选项:
vbCritical or vbExclamation
0
3
的VBScript Messagebox是相当有限的,以你可以应用到按钮上的标签,你的选择是非常限于:
- OK
- 取消
- 重试
- 中止
- 忽略
- 是
- 没有
所以,你将不得不如果你想建立自己的形式“ON” /“OFF”
更好的是,为什么不能改写的在框中提示,以便上述选项之一工作。
例如:
Do you want the light on?
[Yes] [No]
而偏偏不做这些UI怪物之一!
Switch setting? (Click "yes" for ON and "No" for Off)
[Yes] [No]
0
记住 - 如果你将按钮设置为vbOkOnly
- 它将始终返回1.
因此,您不能确定用户是否单击关闭或确定按钮。你只需要添加一个vbOk
选项。
0
这是可以做到的,我发现它在网络上的其他地方......这是没办法我的工作! :)
Option Explicit
' Import
Private Declare Function GetCurrentThreadId Lib "kernel32"() 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 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
' Handle to the Hook procedure
Private hHook As Long
' Hook type
Private Const WH_CBT = 5
Private Const HCBT_ACTIVATE = 5
' Constants
Public Const IDOK = 1
Public Const IDCANCEL = 2
Public Const IDABORT = 3
Public Const IDRETRY = 4
Public Const IDIGNORE = 5
Public Const IDYES = 6
Public Const IDNO = 7
Public Sub MsgBoxSmile()
' Set Hook
hHook = SetWindowsHookEx(WH_CBT, _
AddressOf MsgBoxHookProc, _
0, _
GetCurrentThreadId)
' Run MessageBox
MsgBox "Smiling Message Box", vbYesNo, "Message Box Hooking"
End Sub
Private Function MsgBoxHookProc(ByVal lMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long
If lMsg = HCBT_ACTIVATE Then
SetDlgItemText wParam, IDYES, "Yes :-)"
SetDlgItemText wParam, IDNO, "No :-("
' Release the Hook
UnhookWindowsHookEx hHook
End If
MsgBoxHookProc = False
End Function
+0
您不能在VBScript中执行类似Windows API的调用。此代码是VBA或VB6 – Jobbo 2014-12-05 13:18:38
-1
我做
msgbox "TEXT HERE",3,"TITLE HERE"
If Yes=true then
(result)
else
msgbox "Closing..."
+0
MsgBox应作为函数调用; Yes从哪里来? upvoter应该感到羞耻。 – 2017-10-16 18:06:34
相关问题
- 1. 如何显示C#中没有任何按钮的消息框
- 2. 带文本按钮的WinForms消息框
- 3. 如何使烤面包的消息有两个按钮按下
- 4. 消息框没有显示
- 5. 带有显示详细信息选项的消息框?
- 6. 按钮取消不显示在消息框中
- 7. 显示消息框后单选按钮消失
- 8. Inno Setup单击取消按钮时显示消息框
- 9. 显示带有四个按钮的对话框
- 10. c中没有按钮的消息框#
- 11. 如何在WinForms中显示带有详细信息的消息框?
- 12. 会显示消息和后退按钮
- 13. 显示消息时,imageview不empy没有点击一个按钮
- 14. C#消息框显示两次
- 15. 访问消息框按钮
- 16. 试图显示带有消息
- 17. 如何向用户显示带有帮助消息的浮动消息
- 18. 如何显示消息框在MVVM
- 19. Android - 带有两个按钮的片段
- 20. 如何连续显示带有无限循环的消息?
- 21. 如何在点击提交按钮后显示jquery消息
- 22. 如何在GridView上显示确认消息图片按钮
- 23. 如何在按钮点击后显示“No More Data”消息javascript
- 24. 如何在Android中单击禁用按钮时显示消息?
- 25. 如何在退出按钮上显示弹出消息
- 26. 如何显示消息框从编辑/添加新按钮点击devexpress gridview
- 27. 如何在Google表单中点击提交按钮显示消息框?
- 28. 显示Django消息框架消息
- 29. Django消息框架不显示消息?
- 30. 显示第二个字的消息框
我可以更改按钮上的字是从与其他字符串? – yael 2010-06-17 14:28:13
没有,但作为JohnFx建议,你可以改写本声明的消息框,使“是”和“否”的选项会工作。 – 2010-06-17 14:42:00