0

AfxMessageBox を使用してメッセージ ボックスを表示する MFC アプリがあります。アプリ自体により、エンドユーザーはユーザー インターフェイス言語を変更できます。内部では、LCID (またはFindResourceEx API) を使用してリソースをロードすることでこれを行います。私の問題は、AfxMessageBox で LCID を取得して [OK]、[キャンセル] ボタンなどの言語を変更するようにできないことです。これは、ファイルとフォルダーにも影響します。ダイアログ ウィンドウを開きます。

これを行う方法はありますか?

PS。このアプローチは、Windows XP 以降で機能する必要があります。

4

1 に答える 1

2

この SO の記事によると、これには標準関数はありません。CodeProject の記事「 Localizing System MessageBox」へのリンクがあり、Windows フックを使用する DLL のソース コード (C# ではありますが、C++ で書き直せるほど単純なようです) があります。 MessageBox ボタンに独自のテキストを指定できるようにします。同じ記事のディスカッション部分で、テキストに合わせてボタンのサイズを変更することについての提案さえあります。

于 2013-06-18T06:54:48.257 に答える