如何显示带有两个按钮的消息框(例如:"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. 按钮取消不显示在消息框中
- 9. Inno Setup单击取消按钮时显示消息框
- 10. 显示带有四个按钮的对话框
- 11. 如何在WinForms中显示带有详细信息的消息框?
- 12. c中没有按钮的消息框#
- 13. 如何配置java消息框按钮
- 14. 在Windows Phone中显示没有任何按钮的消息
- 15. 如何在按下后退按钮时显示警报消息?
- 16. 谷歌+按钮显示错误消息
- 17. 会显示消息和后退按钮
- 18. 显示消息时,imageview不empy没有点击一个按钮
- 19. 仅限带取消按钮的消息框
- 20. C#消息框显示两次
- 21. 带有Immediate =“true”的按钮清除当前显示的验证消息
- 22. 显示消息框
- 23. 访问消息框按钮
- 24. 试图显示带有消息
- 25. Try-Catch不显示带有等待的消息对话框
- 26. Windows [cmd.exe]命令显示带有超时的消息框?
- 27. 显示带有标签/按钮的UIImageViews
- 28. 带按钮的Android Eclipse弹出消息
- 29. 如何显示消息框在MVVM
- 30. 如何在javascript中显示消息框
我可以更改按钮上的字是从与其他字符串? – yael 2010-06-17 14:28:13
没有,但作为JohnFx建议,你可以改写本声明的消息框,使“是”和“否”的选项会工作。 – 2010-06-17 14:42:00