線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:31564
推到 Plurk!
推到 Facebook!
[<<] [1] [2] [>>]

如何變更顯示 MessageBox()裡的Button Language ?

答題得分者是:leveon
Louis_H
一般會員


發表:7
回覆:19
積分:10
註冊:2005-10-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2012-07-31 15:24:48 IP:59.120.xxx.xxx 訂閱
請教各位大大
目前使用的 Application->MessageBoxA( CC_TICKET_PRINT_EVENT_FAILED , CC_TICKET_PRINT_BTN , MB_OK|MB_ICONSTOP );
其中 MB_OK 會依照作業系統安裝的語系顯示對應的文字,
我要如何做 ? 才能使 MB_OK 縱使在 中文作業系統下,我要它顯示的不是 「確定」而是指定的 義大利文的確定。
( 於 英文作業系統下,MB_OK 也是只顯示「OK」,我想讓它顯示 義大利文的 OK )
謝謝 !!

註:CC_TICKET_PRINT_EVENT_FAILED 與 CC_TICKET_PRINT_BTN
為顯示字串表中的 define 字,能依照 define 不同而顯示指定的語言字串。
leveon
資深會員


發表:30
回覆:389
積分:303
註冊:2012-02-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2012-07-31 16:00:34 IP:118.165.xxx.xxx 訂閱
請參閱 
http://www.delphigroups.info/2/cf/484849.html
http://www.codeguru.com/cpp/w-p/win32/messagebox/article.php/c10873/MessageBox-with-Custom-Button-Captions.htm
windows API等級 感覺很麻煩

Dialog 比較容易一些
請參閱
http://www.delphidabbler.com/tips/173


===================引 用 Louis_H 文 章===================
請教各位大大
目前使用的 Application->MessageBoxA( CC_TICKET_PRINT_EVENT_FAILED , CC_TICKET_PRINT_BTN , MB_OK|MB_ICONSTOP );
其中 MB_OK 會依照作業系統安裝的語系顯示對應的文字,
我要如何做 ? 才能使 MB_OK 縱使在 中文作業系統下,我要它顯示的不是 「確定」而是指定的 義大利文的確定。
( 於 英文作業系統下,MB_OK 也是只顯示「OK」,我想讓它顯示 義大利文的 OK )
謝謝 !!

註:CC_TICKET_PRINT_EVENT_FAILED 與 CC_TICKET_PRINT_BTN
為顯示字串表中的 define 字,能依照 define 不同而顯示指定的語言字串。
Louis_H
一般會員


發表:7
回覆:19
積分:10
註冊:2005-10-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2012-07-31 16:47:02 IP:219.85.xxx.xxx 訂閱
對不起 ! 我使用的是 BCB 6 開發工具...
請問有比較容易懂的程式碼能參考嗎 ?
感謝 !!!
leveon
資深會員


發表:30
回覆:389
積分:303
註冊:2012-02-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2012-07-31 17:03:17 IP:118.165.xxx.xxx 訂閱
阿.如果堅持使用Applicatrion.messagebox 
那沒有參數可以直接達到你的要求
要辦到就很迂迴和麻煩 沒有容易的作法


===================引 用 Louis_H 文 章===================
對不起 ! 我使用的是 BCB 6 開發工具...
請問有比較容易懂的程式碼能參考嗎 ?
感謝 !!!
Louis_H
一般會員


發表:7
回覆:19
積分:10
註冊:2005-10-07

發送簡訊給我
#5 引用回覆 回覆 發表時間:2012-07-31 17:06:24 IP:219.85.xxx.xxx 訂閱
不是這樣的...
我剛剛有試著用 MessageDlg 的方式
但由於範例是 Delphi 的方式,小弟不才..
才會請教有無 BCB 6 的 MessageDlg 那段的語法.. Orz..

===================引 用 leveon 文 章===================
阿.如果堅持使用Applicatrion.messagebox
那沒有參數可以直接達到你的要求
要辦到就很迂迴和麻煩 沒有容易的作法


===================引 用 Louis_H 文 章===================
對不起 ! 我使用的是 BCB 6 開發工具...
請問有比較容易懂的程式碼能參考嗎 ?
感謝 !!!
leveon
資深會員


發表:30
回覆:389
積分:303
註冊:2012-02-12

發送簡訊給我
#6 引用回覆 回覆 發表時間:2012-07-31 17:13:00 IP:118.165.xxx.xxx 訂閱
喔喔 請參閱 
http://stackoverflow.com/questions/4318183/custom-messagedlg



===================引 用 Louis_H 文 章===================
不是這樣的...
我剛剛有試著用 MessageDlg 的方式
但由於範例是 Delphi 的方式,小弟不才..
才會請教有無 BCB 6 的 MessageDlg 那段的語法.. Orz..

===================引 用 leveon 文 章===================
阿.如果堅持使用Applicatrion.messagebox
那沒有參數可以直接達到你的要求
要辦到就很迂迴和麻煩 沒有容易的作法


===================引 用 Louis_H 文 章===================
對不起 ! 我使用的是 BCB 6 開發工具...
請問有比較容易懂的程式碼能參考嗎 ?
感謝 !!!
Louis_H
一般會員


發表:7
回覆:19
積分:10
註冊:2005-10-07

發送簡訊給我
#7 引用回覆 回覆 發表時間:2012-07-31 17:39:21 IP:219.85.xxx.xxx 訂閱
請教下列 錯誤訊息:
'WordWrap' is not a member of 'TButton'

感謝!!
Louis_H
一般會員


發表:7
回覆:19
積分:10
註冊:2005-10-07

發送簡訊給我
#8 引用回覆 回覆 發表時間:2012-07-31 18:09:15 IP:219.85.xxx.xxx 訂閱
Mark // 掉上述問題後..
得到 其實 它是利用 自定按鈕來複蓋 原來 OK 與 Cancel 按鈕
因為照它的程式碼,我執行起來 會看到視窗左上角顯示一個 JO 按鈕... Orz
另一個要替代 OK 按鈕的 PO 按鈕則沒看到 !!! ?



taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#9 引用回覆 回覆 發表時間:2012-07-31 19:21:40 IP:114.32.xxx.xxx 訂閱
我只是路過的:P

因為按鍵被覆蓋住了^^
調整一下
Left你就會看到了
編輯記錄
taishyang 重新編輯於 2012-07-31 05:22:31, 註解 無‧
leveon
資深會員


發表:30
回覆:389
積分:303
註冊:2012-02-12

發送簡訊給我
#10 引用回覆 回覆 發表時間:2012-08-01 11:09:21 IP:118.165.xxx.xxx 訂閱
疑? 你有看到第二樓嗎
hat will allow you to modify existing buttons instead of creating new ones.
===================引 用 Louis_H 文 章===================
Mark // 掉上述問題後..
得到 其實 它是利用 自定按鈕來複蓋 原來 OK 與 Cancel 按鈕
因為照它的程式碼,我執行起來 會看到視窗左上角顯示一個 JO 按鈕... Orz
另一個要替代 OK 按鈕的 PO 按鈕則沒看到 !!! ?



jcjroc
高階會員


發表:21
回覆:279
積分:115
註冊:2002-09-18

發送簡訊給我
#11 引用回覆 回覆 發表時間:2012-08-01 13:52:03 IP:59.124.xxx.xxx 訂閱
MessageBoxEx
leveon
資深會員


發表:30
回覆:389
積分:303
註冊:2012-02-12

發送簡訊給我
#12 引用回覆 回覆 發表時間:2012-08-01 14:23:30 IP:118.165.xxx.xxx 訂閱
用那一版的Windows? 我在XP + SP3 是不管用的

===================引 用 jcjroc 文 章===================
MessageBoxEx
jcjroc
高階會員


發表:21
回覆:279
積分:115
註冊:2002-09-18

發送簡訊給我
#13 引用回覆 回覆 發表時間:2012-08-01 18:10:12 IP:59.124.xxx.xxx 訂閱
::MessageBoxExA(NULL,"","",MB_RETRYCANCEL,MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));

不過有些語言會有問題,但可用另一種方式
http://www.codeguru.com/cpp/w-p/win32/messagebox/article.php/c10873/MessageBox-with-Custom-Button-Captions.htm

leveon
資深會員


發表:30
回覆:389
積分:303
註冊:2012-02-12

發送簡訊給我
#14 引用回覆 回覆 發表時間:2012-08-01 18:52:12 IP:118.165.xxx.xxx 訂閱
 MessageBoxEx
MessageBoxExA
MessageBoxExW
我在繁體中文 XP ,win2000 sp4 上都試過了 皆無效果 傳入的語言參數英文 法文 皆無作用
如果你用的那一版本的windows 可以成功 麻煩告知

===================引 用 jcjroc 文 章===================
::MessageBoxExA(NULL,"","",MB_RETRYCANCEL,MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));

不過有些語言會有問題,但可用另一種方式
http://www.codeguru.com/cpp/w-p/win32/messagebox/article.php/c10873/MessageBox-with-Custom-Button-Captions.htm
這連結我貼過了 樓主不喜歡 顆顆~~


aftcast
站務副站長


發表:81
回覆:1485
積分:1763
註冊:2002-11-21

發送簡訊給我
#15 引用回覆 回覆 發表時間:2012-08-01 19:30:37 IP:114.32.xxx.xxx 訂閱
我是沒去試過,不過從msdn上的說明與種種的討論來看,這個api不會是解吧!

msdn:

MessageBoxExMessageBox work the same way.

這句話應該是有"意義"的…


應該不用去追究了…

===================引 用 leveon 文 章===================
MessageBoxEx
MessageBoxExA
MessageBoxExW
我在繁體中文 XP ,win2000 sp4 上都試過了 皆無效果 傳入的語言參數英文 法文 皆無作用
如果你用的那一版本的windows 可以成功 麻煩告知

===================引 用 jcjroc 文 章===================
::MessageBoxExA(NULL,"","",MB_RETRYCANCEL,MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));

不過有些語言會有問題,但可用另一種方式
http://www.codeguru.com/cpp/w-p/win32/messagebox/article.php/c10873/MessageBox-with-Custom-Button-Captions.htm
這連結我貼過了 樓主不喜歡 顆顆~~


------


蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
jcjroc
高階會員


發表:21
回覆:279
積分:115
註冊:2002-09-18

發送簡訊給我
#16 引用回覆 回覆 發表時間:2012-08-01 22:03:33 IP:60.248.xxx.xxx 訂閱
win7 64bit 是ok的
leveon
資深會員


發表:30
回覆:389
積分:303
註冊:2012-02-12

發送簡訊給我
#17 引用回覆 回覆 發表時間:2012-08-01 22:37:31 IP:111.240.xxx.xxx 訂閱
了解 感謝~~
===================引 用 jcjroc 文 章===================
win7 64bit 是ok的
aftcast
站務副站長


發表:81
回覆:1485
積分:1763
註冊:2002-11-21

發送簡訊給我
#18 引用回覆 回覆 發表時間:2012-08-01 23:06:30 IP:114.44.xxx.xxx 訂閱
哇~~ 跌破眼鏡!

看來下回不能太過相信msdn的說明了 = =|||

謝謝,也學習了!

Minimum supported client Windows 2000 Professional
Minimum supported server Windows 2000 Server
Header
Winuser.h (include Windows.h)
Library
User32.lib
DLL
User32.dll
Unicode and ANSI names MessageBoxExW (Unicode) and MessageBoxExA (ANSI)


這種說明結果一堆版本不行,然後突然跳到windows 7 確可以… 那mini要求應該要改windows 7 吧@@


===================引 用 jcjroc 文 章===================


win7 64bit 是ok的

------


蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
leveon
資深會員


發表:30
回覆:389
積分:303
註冊:2012-02-12

發送簡訊給我
#19 引用回覆 回覆 發表時間:2012-08-01 23:43:09 IP:111.240.xxx.xxx 訂閱
應該不是, windows的介面用語 "好像"都是依靠語言包
缺少該語言包 就沒辦法找到對應用語 就會用"預設用語"來顯示
這"可能"是我在XP上沒成功的原因
xp ,win2000 應該也是這總情形 樓主找到意語語言包 裝上
使用此api 應該會成功 我猜的~~

請參閱 語言介面套件 (LIP)
http://windows.microsoft.com/zh-tw/windows7/How-do-I-get-additional-display-languages?SignedIn=1

Windows XP 的語言

http://windows.microsoft.com/zh-HK/windows/downloads/languages-xp

===================引 用 aftcast 文 章===================
哇~~ 跌破眼鏡!

看來下回不能太過相信msdn的說明了 = =|||

謝謝,也學習了!

Minimum supported client Windows 2000 ProfessionalMinimum supported server Windows 2000 ServerHeader
Winuser.h (include Windows.h)
Library
User32.lib
DLL
User32.dll
Unicode and ANSI names MessageBoxExW (Unicode) and MessageBoxExA (ANSI)

這種說明結果一堆版本不行,然後突然跳到windows 7 確可以… 那mini要求應該要改windows 7 吧@@


===================引 用 jcjroc 文 章===================


win7 64bit 是ok的

aftcast
站務副站長


發表:81
回覆:1485
積分:1763
註冊:2002-11-21

發送簡訊給我
#20 引用回覆 回覆 發表時間:2012-08-01 23:47:58 IP:114.44.xxx.xxx 訂閱
重點是…試的是英文,英文不需要什麼語言包吧?

否則我的看法也會和你一樣。

而且有不少的討論也是說到無論怎麼設定就是不會變化 (google)

再者,

msdn:

MessageBoxExMessageBox work the same way.

這二個只差語言的api,竟然說
"目前" 作用是一樣的


應該是有其理由與道理吧? 難道我誤會?


http://msdn.microsoft.com/en-us/library/windows/desktop/ms645507(v=vs.85).aspx
這連結的下面的comment也有提到相關的實務經驗是無法改變語言的…

===================引 用 leveon 文 章===================
應該不是, windows的介面用語 "好像"都是依靠語言包
缺少該語言包 就沒辦法找到對應用語 就會用"預設用語"來顯示
這"可能"是我在XP上沒成功的原因
xp ,win2000 應該也是這總情形 樓主找到意語語言包 裝上
使用此api 應該會成功 我猜的~~


------


蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
編輯記錄
aftcast 重新編輯於 2012-08-01 09:51:23, 註解 無‧
aftcast 重新編輯於 2012-08-01 09:55:00, 註解 無‧
aftcast 重新編輯於 2012-08-01 09:58:43, 註解 無‧
leveon
資深會員


發表:30
回覆:389
積分:303
註冊:2012-02-12

發送簡訊給我
#21 引用回覆 回覆 發表時間:2012-08-02 00:14:47 IP:111.240.xxx.xxx 訂閱
我認為 中文XP 還是需要英文介面語言包 
論點是能處理英文和介面是英文是不同的
介面用語總是需要用語資料檔

中文XP改英文
http://twntwn.info/blog/ajer001/archives/2691
做法還是要靠放光碟 補檔

文中:
" Currently and work the same way.

這二個只差語言的api,竟然說
"目前" 作用是一樣的


應該是有其理由與道理吧? 難道我誤會?


http://msdn.microsoft.com/en-us/library/windows/desktop/ms645507(v=vs.85).aspx
這連結的下面的comment也有提到相關的實務經驗是無法改變語言的…

===================引 用
leveon 文 章===================
應該不是, windows的介面用語 "好像"都是依靠語言包
缺少該語言包 就沒辦法找到對應用語 就會用"預設用語"來顯示
這"可能"是我在XP上沒成功的原因
xp ,win2000 應該也是這總情形 樓主找到意語語言包 裝上
使用此api 應該會成功 我猜的~~


編輯記錄
leveon 重新編輯於 2012-08-01 10:19:28, 註解 無‧
leveon 重新編輯於 2012-08-01 10:19:28, 註解 無‧
aftcast
站務副站長


發表:81
回覆:1485
積分:1763
註冊:2002-11-21

發送簡訊給我
#22 引用回覆 回覆 發表時間:2012-08-02 00:21:13 IP:114.44.xxx.xxx 訂閱
即便你的說法也有可能性,但要如何解釋 windows 7 在"沒有做些什麼額外動作"的情形下它卻可以?

預裝英文包??


當我沒說,我沒注意到你已回答 @@


===================引 用 leveon 文 章===================
我認為 中文XP 還是需要英文介面語言包
論點是能處理英文和介面是英文是不同的
介面用語總是需要用語資料檔

中文XP改英文
http://twntwn.info/blog/ajer001/archives/2691
做法還是要靠放光碟 補檔

文中:
" XP 之後,包括 XP Media Center Edition、Vista 等等,都是英文的核心搭配 MUI 的版本 "

所以繁中文windows 7 是預設英文是 ok的


不過一切都是我猜的 但我也不想下載試
如果樓主願意試 麻煩請告訴我結果 哈~~

------


蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
編輯記錄
aftcast 重新編輯於 2012-08-01 10:22:57, 註解 無‧
aftcast 重新編輯於 2012-08-01 10:24:20, 註解 無‧
aftcast 重新編輯於 2012-08-01 10:31:14, 註解 無‧
aftcast 重新編輯於 2012-08-01 10:32:18, 註解 無‧
leveon
資深會員


發表:30
回覆:389
積分:303
註冊:2012-02-12

發送簡訊給我
#23 引用回覆 回覆 發表時間:2012-08-02 00:27:15 IP:111.240.xxx.xxx 訂閱
颱風夜 大家請小心囉~~

編輯記錄
leveon 重新編輯於 2012-08-01 10:30:40, 註解 無‧
aftcast
站務副站長


發表:81
回覆:1485
積分:1763
註冊:2002-11-21

發送簡訊給我
#24 引用回覆 回覆 發表時間:2012-08-02 00:32:31 IP:114.44.xxx.xxx 訂閱
  

" "

上面那句話的結論是從哪找到的啊?

因為還是有人在找english的MUI (VISTA),為什麼??? 我直覺的想法是,若是非英文系的os,理當一樣辦理,但若是如此,那誰又需要english的MUI?
------


蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
編輯記錄
aftcast 重新編輯於 2012-08-01 10:33:24, 註解 無‧
aftcast
站務副站長


發表:81
回覆:1485
積分:1763
註冊:2002-11-21

發送簡訊給我
#25 引用回覆 回覆 發表時間:2012-08-02 00:37:34 IP:114.44.xxx.xxx 訂閱
 GOOGLE了一下,自答並補充一部份好了 :p

http://duo-anything.blogspot.tw/2008/06/windows-vista-mui-tools.html
------


蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
aftcast
站務副站長


發表:81
回覆:1485
積分:1763
註冊:2002-11-21

發送簡訊給我
#26 引用回覆 回覆 發表時間:2012-08-02 00:48:41 IP:114.44.xxx.xxx 訂閱
再補充一篇重要的:

http://forums.codeguru.com/archive/index.php/t-488467.html

這問題提問者是有裝language PACK的情形下在英文的os上裝了法文。但是,一樣還是出現英文…

所以,我還是高度懷疑msdn上寫的那句話 :

MessageBoxEx
MessageBoxCurrently 是指在win7前的 (我自推的時間)

------


蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
leveon
資深會員


發表:30
回覆:389
積分:303
註冊:2012-02-12

發送簡訊給我
#27 引用回覆 回覆 發表時間:2012-08-02 01:09:00 IP:111.240.xxx.xxx 訂閱
喔喔 原來有人試過了 我的推測是錯的~~
到了win7 "可能"才補上這個參數實作


===================引 用 aftcast 文 章===================
再補充一篇重要的:

http://forums.codeguru.com/archive/index.php/t-488467.html

這問題提問者是有裝language PACK的情形下在英文的os上裝了法文。但是,一樣還是出現英文…

所以,我還是高度懷疑msdn上寫的那句話 :

MessageBoxExMessageBoxCurrently 是指在win7前的 (我自推的時間)

aftcast
站務副站長


發表:81
回覆:1485
積分:1763
註冊:2002-11-21

發送簡訊給我
#28 引用回覆 回覆 發表時間:2012-08-02 01:20:01 IP:114.44.xxx.xxx 訂閱
我們二人半夜這麼認真的在研討這個問題,獲益良多呢!   若非如此,也不去會了解這種問題…

不過樓主似乎…不知如何發言?

無論如何我們自己給個讚吧! 辛苦了! : -)


------


蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
jcjroc
高階會員


發表:21
回覆:279
積分:115
註冊:2002-09-18

發送簡訊給我
#29 引用回覆 回覆 發表時間:2012-08-02 10:51:56 IP:60.248.xxx.xxx 訂閱
以工程角度來說好像有點不符成本效益,又不是沒有其他簡單的執行方式(例如open source),當作技術討論是OK的,至於實際工程運作與客戶佈署執行面上..............應該會被罵死
樓主要警惕阿

PS. aftcast 你還在?走了?
編輯記錄
jcjroc 重新編輯於 2012-08-01 20:53:33, 註解 無‧
aftcast
站務副站長


發表:81
回覆:1485
積分:1763
註冊:2002-11-21

發送簡訊給我
#30 引用回覆 回覆 發表時間:2012-08-02 15:50:20 IP:114.44.xxx.xxx 訂閱
我在自己的公司。

===================引 用 jcjroc 文 章===================

PS. aftcast 你還在?走了?
------


蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
jcjroc
高階會員


發表:21
回覆:279
積分:115
註冊:2002-09-18

發送簡訊給我
#31 引用回覆 回覆 發表時間:2012-08-02 15:53:56 IP:60.248.xxx.xxx 訂閱
自己開???
[<<] [1] [2] [>>]
系統時間:2024-03-29 5:19:34
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!