如何顯示帶有兩個按鈕的消息框(例如:"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