比如我在简体中文下,弹出一个MessageBox,我不希望上面显示“确定”、“取消”,我希望上面显示“OK”、“Cancel”,怎么设置才能实现?
请不要告诉我自己做一个对话框来冒充
13 个解决方案
#1
请指点
#2
看来还是自己写一个对话框来代替吧,
也不怎么复杂.
因为你在装VC时,应该会碰到一个提示,
安装某个语言包,上面说该语言包支持中文,而原来的支持英文(美国)的字样,
如果你选择了覆盖的话,
那你的程序只能是中文的了,
除非你把那个DLL文件重新替换回来
也不怎么复杂.
因为你在装VC时,应该会碰到一个提示,
安装某个语言包,上面说该语言包支持中文,而原来的支持英文(美国)的字样,
如果你选择了覆盖的话,
那你的程序只能是中文的了,
除非你把那个DLL文件重新替换回来
#3
int MessageBoxEx(
HWND hWnd, // handle of owner window
LPCTSTR lpText, // address of text in message box
LPCTSTR lpCaption, // address of title of message box
UINT uType, // style of message box
WORD wLanguageId // language identifier
);
wLanguageId
Specifies the language in which to display the text contained in the predefined push buttons.
用这个试试看.
HWND hWnd, // handle of owner window
LPCTSTR lpText, // address of text in message box
LPCTSTR lpCaption, // address of title of message box
UINT uType, // style of message box
WORD wLanguageId // language identifier
);
wLanguageId
Specifies the language in which to display the text contained in the predefined push buttons.
用这个试试看.
#4
wLanguageId 这个参数是保留的,没有真正实现,
微软有很多假货
微软有很多假货
#5
http://support.microsoft.com/default.aspx?scid=kb;en-us;152670
#6
加 WORD wLanguageId 没有作用
#7
好像不行。
估计你只能自己建一个对话框了。
估计你只能自己建一个对话框了。
#8
Messagbox是一个系统内置的,要改只能是操作系统更改。
#9
噢?瞅瞅
#10
我有一个方法,不知是否可行。
首先调用一般的MessageBox(NULL,"This is a test","Test",MB_OK);
让这个消息框显示后,然后用
HWnd hWindow;
hWindow=FindWindow(NULL,"Test");
得到这个消息框的窗口句柄。
然后调用
FindWindowEx找到确定按钮的句柄,用SetWindowText把确定改成OK。
取消也是一样。
我想应该可以的。呵呵。
首先调用一般的MessageBox(NULL,"This is a test","Test",MB_OK);
让这个消息框显示后,然后用
HWnd hWindow;
hWindow=FindWindow(NULL,"Test");
得到这个消息框的窗口句柄。
然后调用
FindWindowEx找到确定按钮的句柄,用SetWindowText把确定改成OK。
取消也是一样。
我想应该可以的。呵呵。
#11
还是自己做一个吧
#12
自己做吧
#13
在英文操作系统下,消息对话框的按钮是英文的,还是写一个对话框算了
#1
请指点
#2
看来还是自己写一个对话框来代替吧,
也不怎么复杂.
因为你在装VC时,应该会碰到一个提示,
安装某个语言包,上面说该语言包支持中文,而原来的支持英文(美国)的字样,
如果你选择了覆盖的话,
那你的程序只能是中文的了,
除非你把那个DLL文件重新替换回来
也不怎么复杂.
因为你在装VC时,应该会碰到一个提示,
安装某个语言包,上面说该语言包支持中文,而原来的支持英文(美国)的字样,
如果你选择了覆盖的话,
那你的程序只能是中文的了,
除非你把那个DLL文件重新替换回来
#3
int MessageBoxEx(
HWND hWnd, // handle of owner window
LPCTSTR lpText, // address of text in message box
LPCTSTR lpCaption, // address of title of message box
UINT uType, // style of message box
WORD wLanguageId // language identifier
);
wLanguageId
Specifies the language in which to display the text contained in the predefined push buttons.
用这个试试看.
HWND hWnd, // handle of owner window
LPCTSTR lpText, // address of text in message box
LPCTSTR lpCaption, // address of title of message box
UINT uType, // style of message box
WORD wLanguageId // language identifier
);
wLanguageId
Specifies the language in which to display the text contained in the predefined push buttons.
用这个试试看.
#4
wLanguageId 这个参数是保留的,没有真正实现,
微软有很多假货
微软有很多假货
#5
http://support.microsoft.com/default.aspx?scid=kb;en-us;152670
#6
加 WORD wLanguageId 没有作用
#7
好像不行。
估计你只能自己建一个对话框了。
估计你只能自己建一个对话框了。
#8
Messagbox是一个系统内置的,要改只能是操作系统更改。
#9
噢?瞅瞅
#10
我有一个方法,不知是否可行。
首先调用一般的MessageBox(NULL,"This is a test","Test",MB_OK);
让这个消息框显示后,然后用
HWnd hWindow;
hWindow=FindWindow(NULL,"Test");
得到这个消息框的窗口句柄。
然后调用
FindWindowEx找到确定按钮的句柄,用SetWindowText把确定改成OK。
取消也是一样。
我想应该可以的。呵呵。
首先调用一般的MessageBox(NULL,"This is a test","Test",MB_OK);
让这个消息框显示后,然后用
HWnd hWindow;
hWindow=FindWindow(NULL,"Test");
得到这个消息框的窗口句柄。
然后调用
FindWindowEx找到确定按钮的句柄,用SetWindowText把确定改成OK。
取消也是一样。
我想应该可以的。呵呵。
#11
还是自己做一个吧
#12
自己做吧
#13
在英文操作系统下,消息对话框的按钮是英文的,还是写一个对话框算了