3

私は、メニュー項目を太字で表示するために必要な労力を調査してきました-自分でメニューを描画する必要はありません-グーグルした後、MFS_DEFAULTメニュー項目の状態を発見しました。MSDNのドキュメントには

MFS_DEFAULT
メニュー項目がデフォルトであることを指定します。メニューには、太字で表示されているデフォルトのメニュー項目を1つだけ含めることができます。

実験してみたところ、ドキュメントと逆に、このフラグを使用して複数(またはすべて)のメニュー項目を太字で表示できるようです。誰かがこれを経験したことがありますか?つまり、複数の太字のメニュー項目を持つことに落とし穴がある場合はどうでしょうか?私が達成しようとしていることを達成するのはちょっとしたハックのように感じますし、未知の副作用(つまり、単一のメニューに複数の「デフォルト」メニュー項目がある)について少し心配しています。

編集:この記事では、MFS_DEFAULTフラグはメニュー項目を太字で表示する以外に何もしないと主張していることも付け加えておきます。それでも、私は「公式」ドキュメントに反対することに少し警戒しています...

EDIT2:これの目的は、問題のメニュー項目(つまり、太字のメニュー項目)は、問題のコントロールをダブルクリックすることによっても呼び出すことができることをユーザーに通知することでした(メニュー項目はコンテキストメニューの一部です)。この問題について考えたとき、ダブルクリックイベントに関連付けることができるコマンドは1つだけであるという事実を考慮していませんでした(d'oh!)。そのため、私はzaphodの回答を受け入れました(この質問には直接回答しませんが、私の「問題」は解決しました)

4

1 に答える 1

4

何を達成しようとしていますか?

MFS_DEFAULT を本来の目的以外の目的で使用することに対する最大の反論は、Microsoft が太字のメニュー項目の意味と、ユーザー (または補助ツールスクリーン リーダーなどのプログラム) は、これに遭遇したときに反応する必要があります。

あなたがしようとしているのが、特に興味のあるいくつかのメニュー項目にユーザーの注意を引くことだけである場合、それは少し奇妙に思えますが、かなり無害にも思えます。今後の大きな問題。もちろん、何でも可能です!それでも、私はあなたが何をしていたのか正確に知りたい.

メニュー項目を太字にしたり太字にしたりして、プログラムの状態の一部を公開しようとしている場合、それは私には少し予想外に思えますが、詳細を聞く前に判断を下したくはありません。

他の目標を念頭に置いている場合、たとえば、メニューのデフォルトのフォントが見苦しいと思っていて、すべてを太字にした方が気に入っているなどの場合は、発見した方法が適切かもしれませんが、より良い方法もあるかもしれませんあなたが望むものを正確に得る方法。あなたが喜んでいるなら、より詳細に(おそらく別の質問で)議論することができます. 私はこれが事実であることを疑いますが、誰が知っていますか?

于 2008-11-05T03:16:41.307 に答える