17

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);    

ボーナスリーディング

4

1 に答える 1

0

これは古い質問FontSizeですが、WPF Windows リボンで利用できるプロパティがあります: http://www.microsoft.com/en-us/download/details.aspx?id=11877

その属性を返す関数にバインドして、SystemFonts.MenuFontSize必要な大きなテキストを取得できます。

于 2013-01-24T05:15:18.913 に答える