标题:[求助]msgbox的提示按钮“是”,“否”怎么换成英文的“Yes”,“No”?
只看楼主
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
结帖率:66.67%
 问题点数:0 回复次数:9 
[求助]msgbox的提示按钮“是”,“否”怎么换成英文的“Yes”,“No”?
我要把一个软件的界面换成英文版的
现在基本上都改完了
但是发现就是msgbox的提示按钮“是”,“否”没办法换成“Yes”,“No”
谁能告诉我怎么办?
搜索更多相关主题的帖子: Yes 是”,“否 msgbox 按钮 英文 
2007-09-01 16:05
ryu
Rank: 1
等 级:新手上路
帖 子:124
专家分:0
注 册:2006-2-12
得分:0 
在英文操作系统里那个就是yes和no,不用编

本帖版权归ryu所有.如果引用本帖,请注明帖子的出处和作者;本帖如系引用,其版权归原作者所有.
2007-09-01 16:11
hundnn
Rank: 1
等 级:新手上路
帖 子:123
专家分:0
注 册:2007-8-23
得分:0 
那我们现在用的是VB6.0中文版//难道要用英文版的写MSGBOX函数?
2007-09-01 16:33
ryu
Rank: 1
等 级:新手上路
帖 子:124
专家分:0
注 册:2006-2-12
得分:0 
..............


哦哦哦。。明白了。。。等等哈。。。

本帖版权归ryu所有.如果引用本帖,请注明帖子的出处和作者;本帖如系引用,其版权归原作者所有.
2007-09-01 16:37
ryu
Rank: 1
等 级:新手上路
帖 子:124
专家分:0
注 册:2006-2-12
得分:0 
请注意红色的部分!!



模块代码:
[CODE]
Option Explicit
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 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
Private Const WH_CBT = 5
Private Const HCBT_ACTIVATE = 5
Private hHook As Long

Private Function HookProc(ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If nCode = HCBT_ACTIVATE Then
Dim hwnd As Long
hwnd = wParam
SetDlgItemText hwnd, vbOK, ByVal "对拉~~"
SetDlgItemText hwnd, vbCancel, ByVal "去死!!"
SetDlgItemText hwnd, vbYes, ByVal "是"
SetDlgItemText hwnd, vbNo, ByVal "否"
SetDlgItemText hwnd, vbAbort, ByVal "放弃"
SetDlgItemText hwnd, vbIgnore, ByVal "忽略"
SetDlgItemText hwnd, vbRetry, ByVal "重试"
UnhookWindowsHookEx hHook
End If
HookProc = 0
End Function

Public Function MsgBox(Prompt As String, Optional Button As VbMsgBoxStyle = vbOKOnly, Optional Title As String) As VbMsgBoxResult
If Len(Title) = 0 Then Title = App.Title
hHook = SetWindowsHookEx(WH_CBT, AddressOf HookProc, App.hInstance, App.ThreadID)
MsgBox = MessageBox(Form1.hwnd, Prompt, Title, Button)
End Function
[/CODE]
窗体的:
[CODE]
Option Explicit

Private Sub Command1_Click()
If MsgBox("你好", vbOKCancel + vbInformation) = vbOK Then
Call MsgBox("你按了OK", vbInformation)
Else
Call MsgBox("你按了NO", vbInformation)
End If
End Sub
[/CODE]

本帖版权归ryu所有.如果引用本帖,请注明帖子的出处和作者;本帖如系引用,其版权归原作者所有.
2007-09-01 16:44
slore
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1108
专家分:0
注 册:2005-7-1
得分:0 
不建议HOOK……
还不如自己画个。。。

快上课了……
2007-09-01 16:54
ryu
Rank: 1
等 级:新手上路
帖 子:124
专家分:0
注 册:2006-2-12
得分:0 
还有一种方法,我觉得不太好就用hook吧


[IMG]http://hiphotos.baidu.com/sryucn/pic/item/9c65b5bf8689840019d81f34.jpg[/IMG]

本帖版权归ryu所有.如果引用本帖,请注明帖子的出处和作者;本帖如系引用,其版权归原作者所有.
2007-09-01 17:08
slore
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1108
专家分:0
注 册:2005-7-1
得分:0 
findwindow?

快上课了……
2007-09-01 17:11
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
得分:0 
以下是引用ryu在2007-9-1 16:11:17的发言:
在英文操作系统里那个就是yes和no,不用编

你确定吗?

但是我把操作系统的区域换成英国还是不行啊


生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2007-09-01 18:46
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
得分:0 
以下是引用红影在2007-9-1 18:46:34的发言:

你确定吗?

但是我把操作系统的区域换成英国还是不行啊

他确定。

他说的原话是“英文操作系统”,这话很明确了。

2007-09-01 19:12



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-167031-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.121865 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved