1

私は WindowsForms 用のVista TaskDialog Wrapper と Emulatorを使用しています。

正常に動作しますが、ボタンの言語を変更するにはどうすればよいですか?

4

2 に答える 2

1

共通ボタンの言語を変更できないと考える理由があります。(共通ボタンは特別な方法で処理され、特別な結果も返されます。 TASKDIALOGCONFIG 構造体を参照してください。言語を変更するためのオプションは提供されていません。)

Yesしたがって、共通ボタン、NoOKCancel、 、 、Retry、 、 、 、の言語の変更について話している場合Close、それらのラベルのテキストは、アクティブな Windows UI 言語のリソースから取得されます。MsgBox()これは、 Windows の最初からあったダイアログのボタンと同じです。(ボタンはYesNoOKCancelAbortRetryです。) 同じマシン上のすべての基本的なダイアログ ボックスで一貫性を維持するために、共通のボタンの文言は変更可能にされていないと思いますIgnoreHelp

あなたのアプリケーションだけがこの問題を抱えているわけではありません。すでに別の言語でアプリケーションをインストールしているほとんどのユーザーは、単にこの動作を受け入れ、バグとは見なしません。これは、Windows が提供するテンプレートを使用して作成されたダイアログ ボックスの標準的な動作であるといつでも説明できます。ラベルの変更が唯一のものではなく、 TaskDialogの多くの制約の1 つであることはよく知られています。

回避策は、カスタム ボタンを作成することですが、これに伴い、リンクを作成できなくなります。大規模なアプリケーションを作成している場合は、多くのアプリケーションが既に実装しているため、このタイプのダイアログ ボックス用の独自の基盤を作成することを検討してください。

于 2013-09-18T12:40:23.850 に答える