Office 2007/2010 チームのリボンは、ユーザー (メニュー) のフォント サイズを尊重します。
Windows リボン フレームワークのリボン (MS ペイントと私のアプリケーションで使用) は、ユーザー (つまり私の) のフォント設定を無視します。
スクリーンショット表示:
- エクセル2010
- MSペイント(WRF)
- 私のアプリケーション (WRF)
Windows リボン フレームワークのリボンにユーザーのフォント サイズを反映させるにはどうすればよいですか?
ボーナスおしゃべり
単一の「Windows フォント」はありません。ユーザーは 6 つの異なるフォントを設定できます。
- アイコン タイトルのフォント
- ステータスフォント
- メッセージフォント
- メニューフォント
- キャプションのフォント
- 小さいキャプション フォント
Office チームのリボンはMenuフォントを使用していますが、これはリボンがメニューであるため意味があります。以下を使用して、 Menu フォントを取得できます。
//Win32
SystemParametersInfo(SPI_GETNONCLIENTMETRICS, 0, ref nonClientMetrics, 0);
nonClientMetrics.lfMenuFont;
//.NET
SystemFonts.MenuFont;
//Delphi
TScreen.MenuFont
リボンの色:
デフォルトでは、リボンはユーザーの配色を尊重しません (私のスクリーンショットでは、茶色のガラス色の青いリボンに注意してください)。3 番目のリボン (私のアプリケーションでホストされているもの) でわかるように、リボンの色を変更する APIがあります。
//change ribbon background color
IPropertyStore(framework).SetValue(UI_PKEY_GlobalBackgroundColor, glassColor);
//change ribbon font color
IPropertyStore(framework).SetValue(UI_PKEY_GlobalTextColor, Color.Black);
ボーナスリーディング
- Windows リボン フレームワーク: フォント フェイスとサイズを変更するには? (その質問は、ユーザーの Windows フォント設定を尊重するために使用できる、任意のフォント フェイスとサイズを設定する方法に関するものでした。この質問は、ユーザーのフォント設定を尊重するようにリボン自体に指示することに関するものですが、任意の書体・サイズ)