2

C++ と WinAPI を使用してプログラミングしています。Shell_NotifyIcon(NIM_ADD, ...) API を使用してシステム トレイ アイコンを追加しました。このアイコンには、"View & Copy" のようなアンパサンド記号を含むユーザー プロンプトが関連付けられています。しかし、プロンプトが表示されたときにユーザーに表示されるのは、「View Copy」です。「View && Copy」のように、アンパサンドを 2 倍にしてみましたが、役に立ちませんでした。

Windowsトレイプロンプトにアンパサンドを表示する方法を知っている人はいますか?

4

2 に答える 2

5

アンパサンドをエスケープすることは問題ではありません。Windowsは設計上、ツールチップ テキストからアンパサンドを取り除きます。これには、一般的に正当な理由があります。

多くのアプリケーションは、メニュー コマンドに対応するツールを含むツールバーを作成します。このようなツールでは、ツールチップ コントロールに対応するメニュー項目と同じテキストを表示すると便利です。ツールヒント コントロールに渡されるすべての文字列からアンパサンド (&) アクセラレータ文字が自動的に削除され、コントロールが TTS_NOPREFIX スタイルでない限り、最初のタブ文字 (\t) で文字列が終了します。

ご覧のとおり、答えは非常に簡単ですTTS_NOPREFIX。tooltip クラスに追加するだけで準備完了です。

于 2012-04-23T07:13:48.763 に答える
4

どうやら、アンパサンドには、このように二重エスケープが必要です&&&

理由はわかりませんが、うまくいくようです。

私の情報源:このリンク.

于 2012-04-23T11:10:34.673 に答える