CMFCVisualManager クラス
更新 : 2007 年 11 月
アプリケーションの外観変更のサポートをグローバル レベルで提供します。CMFCVisualManager クラスは、一貫したスタイルを使用してアプリケーションの GUI コントロールを描画する機能を提供するクラスと連携します。連携対象のクラスは、ビジュアル マネージャと呼ばれ、CMFCBaseVisualManager から継承します。
class CMFCVisualManager : public CMFCBaseVisualManager
メンバ
パブリック コンストラクタ
名前 |
説明 |
---|---|
CMFCVisualManager::CMFCVisualManager |
既定のコンストラクタです。 |
パブリック メソッド
名前 |
説明 |
---|---|
|
|
|
|
3D タブを常に強調表示色で描画する必要があるかどうかを判断するために、フレームワークによって呼び出されます。 |
|
|
|
|
|
|
|
|
|
|
|
自動的に隠すボタンのテキストの色を取得するために、フレームワークによって呼び出されます。 |
|
現在のビジュアル マネージャがボタンを描画するために必要な、拡大されたボタン サイズを取得するために、フレームワークによって呼び出されます。 |
|
キャプション バーのテキストの色を取得するために、フレームワークによって呼び出されます。 |
|
ドッキングされたツール バーの境界線のサイズを取得するために、フレームワークによって呼び出されます。 |
|
|
|
CMFCVisualManager オブジェクトへのポインタを返します。 |
|
MDITabs ウィンドウの境界線のサイズを取得するために、フレームワークによって呼び出されます。 |
|
|
|
メニュー シャドウの幅と高さを示す値を返します。 |
|
システム ボタンのサイズを現在のビジュアル マネージャから取得するために、フレームワークによって呼び出されます。システム ボタンとはメイン フレームのキャプションのボタンで、[閉じる]、[最小化]、[最大化]、および [元のサイズに戻す] の各コマンドにマップされています。 |
|
ポップアップ メニューの境界線のサイズを取得するために、フレームワークによって呼び出されます。 |
|
プロパティ リストの背景色を取得するために、フレームワークによって呼び出されます。 |
|
プロパティ リストのテキストの色を取得するために、フレームワークによって呼び出されます。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
タブ フレームを描画するときに使用する色のセットを取得するために、フレームワークによって呼び出されます。 |
|
|
|
ツール バー ボタンのテキストの現在の色を取得するために、フレームワークによって呼び出されます。色は、現在のビジュアル マネージャとボタンの状態と応じて異なります。 |
|
無効ツール バー要素に表示されるテキストの色を取得するために、フレームワークによって呼び出されます。 |
|
|
|
|
|
自動非表示ボタンがオーバーラップしているかどうかを判定します。 |
|
現在のビジュアル マネージャが、タブ付きのドッキング バーの周囲に境界線を描画するかどうかを指定します。 |
|
無効イメージをエンボスするかどうかを指定します。 |
|
ツール バーやメニュー上のアクティブではないイメージを淡色表示するかどうかを決定するために、フレームワークによって呼び出されます。 |
|
メニュー ボタンの外観がフラットかどうかを示します。 |
|
ビジュアル マネージャが Office XP スタイルのメニューを実装するかどうかを示します。 |
|
現在のビジュアル マネージャがフレーム ウィンドウのオーナー描画キャプションを実装しているかどうかを示します。 |
|
強調表示されるイメージに影が表示されるかどうかを示します。 |
|
自動非表示ボタンの境界線を描画するときに、フレームワークによって呼び出されます。 |
|
コントロール バーのグリップを描画するときに、フレームワークによって呼び出されます。ユーザーがコントロール バーを動かすには、グリッパをクリックする必要があります。 |
|
エディット コントロール (CMFCEditBrowseCtrl クラス) に属する参照ボタンを描画するときに、フレームワークによって呼び出されます。 |
|
ツール バー ボタンの境界線を描画するときに、フレームワークによって呼び出されます。 |
|
|
|
キャプション バーの境界線を描画するときに、フレームワークによって呼び出されます。 |
|
|
|
|
|
キャプション ボタンを描画するときに、フレームワークによって呼び出されます。 |
|
|
|
|
|
コンボ ボックス ボタンの境界線を描画するときに、フレームワークによって呼び出されます。 |
|
コンボ ボックス ドロップ ボタンを描画するときに、フレームワークによって呼び出されます。 |
|
|
|
既定のリボン イメージを描画するときに、フレームワークによって呼び出されます。 |
|
CMFCToolBarEditBoxButton オブジェクトの周囲の境界線を描画するときに、フレームワークによって呼び出されます。 |
|
|
|
フローティング ツール バーの境界線を描画するときに、フレームワークによって呼び出されます。フローティング ツール バーは、ミニフレーム ウィンドウとして表示されるツール バーです。 |
|
ヘッダー コントロールを含む境界線を描画するときに、フレームワークによって呼び出されます。 |
|
ヘッダー コントロールの並べ替え矢印を描画するときに、フレームワークによって呼び出されます。 |
|
|
|
メニューの境界線を描画するときに、フレームワークによって呼び出されます。 |
|
|
|
|
|
|
|
|
|
メニュー スクロール ボタンを描画するときに、フレームワークによって呼び出されます。 |
|
|
|
[閉じる]、[最小化]、[最大化]、および [元のサイズに戻す] の各メニュー システム ボタンを描画するときに、フレームワークによって呼び出されます。 |
|
|
|
Outlook バーの分割線を描画するときに、フレームワークによって呼び出されます。分割線は、コントロールをグループ化するために使用される水平のバーです。 |
|
Outlook のページ ボタンの境界線を描画するときに、フレームワークによって呼び出されます。Outlook のページ ボタンは、表示できる数より多いボタンが Outlook バー ペインに含まれている場合に表示されます。 |
|
CPane クラスの境界線を描画するときに、フレームワークによって呼び出されます。 |
|
CPane のキャプションを描画するときに、フレームワークによって呼び出されます。 |
|
|
|
|
|
|
|
|
|
リボンのメイン ボタンを描画するときに、フレームワークによって呼び出されます。 |
|
リボン ボタンの境界線を描画するときに、フレームワークによって呼び出されます。 |
|
リボン上のボタンのグループを描画するときに、フレームワークによって呼び出されます。 |
|
リボン バーがフレームに統合されている場合に限り、メイン フレームのキャプションを描画するときに、フレームワークによって呼び出されます。 |
|
リボン バーに配置されたキャプション ボタンを描画するときに、フレームワークによって呼び出されます。 |
|
リボン カテゴリを描画するときに、フレームワークによって呼び出されます。 |
|
リボン カテゴリのキャプションを描画するときに、フレームワークによって呼び出されます。 |
|
|
|
リボン カテゴリのタブを描画するときに、フレームワークによって呼び出されます。 |
|
|
|
|
|
|
|
リボン ペインの既定のボタンを描画するときに、フレームワークによって呼び出されます。既定のボタンは、ユーザーが縮小したリボン パネルが小さくなりすぎて、リボン要素を表示できなくなった場合に表示されます。代わりに既定のボタンが表示されると、ドロップダウン メニューの項目としてリボン要素が追加されます。 |
|
|
|
|
|
|
|
|
|
リボン ラベルを描画するときに、フレームワークによって呼び出されます。 |
|
リボンの起動ボタンを描画するときに、フレームワークによって呼び出されます。起動ボタンは、リボン パネルの隅にある小さなボタンで、クイック アクセス ツール バーに配置できます。 |
|
メイン パネルに配置されるリボン ボタンの境界線を描画するときに、フレームワークによって呼び出されます。メイン パネルは、ユーザーがメイン ボタンをクリックしたときに表示されるパネルです。 |
|
メイン パネルの周囲に境界線を描画するときに、フレームワークによって呼び出されます。 |
|
|
|
リボン パネルを描画するときに、フレームワークによって呼び出されます。 |
|
リボン パネルのキャプションを描画するときに、フレームワークによって呼び出されます。 |
|
CMFCRibbonProgressBar オブジェクトを描画するときに、フレームワークによって呼び出されます。 |
|
リボンのクイック アクセス ツール バーに区分線を描画するときに、フレームワークによって呼び出されます。 |
|
最近使用したファイルの一覧の周囲にフレームを描画するときに、フレームワークによって呼び出されます。 |
|
CMFCRibbonSlider オブジェクトのチャネルを描画するときに、フレームワークによって呼び出されます。 |
|
CMFCRibbonSlider オブジェクトのつまみを描画するときに、フレームワークによって呼び出されます。 |
|
CMFCRibbonSlider オブジェクトのズーム ボタンを描画するときに、フレームワークによって呼び出されます。 |
|
リボンのステータス バーにペインを描画するときに、フレームワークによって呼び出されます。 |
|
一連のリボン タブの周囲にフレームを描画するときに、フレームワークによって呼び出されます。 |
|
|
|
区分線を描画するときに、フレームワークによって呼び出されます。区分線は、一般的に、アイコンのグループを仕切るためにコントロール バーで使用されます。 |
|
|
|
スピン ボタンを描画するときに、フレームワークによって呼び出されます。 |
|
分割ウィンドウの境界線を描画するときに、フレームワークによって呼び出されます。 |
|
分割ウィンドウの分割ドラッグ ボックスを描画するときに、フレームワークによって呼び出されます。 |
|
ステータス バー ペインの境界線を描画するときに、フレームワークによって呼び出されます。 |
|
ステータス バーのプログレス インジケータの境界線を描画するときに、フレームワークによって呼び出されます。 |
|
ステータス バーのサイズ ボックスの境界線を描画するときに、フレームワークによって呼び出されます。 |
|
CMFCTabCtrl オブジェクトを描画するときに、フレームワークによって呼び出されます。 |
|
アクティブなタブに閉じるボタンを描画するときに、フレームワークによって呼び出されます。 |
|
タブの内容 (イメージ、テキスト) を描画するときに、フレームワークによって呼び出されます。 |
|
タブ ボタンの境界線を描画するときに、フレームワークによって呼び出されます。 |
|
作業ウィンドウにタスクを描画するときに、フレームワークによって呼び出されます。 |
|
作業ウィンドウのグループ領域の周囲に境界線を描画するときに、フレームワークによって呼び出されます。 |
|
作業ウィンドウ上のタスク グループのキャプションを描画するときに、フレームワークによって呼び出されます。 |
|
|
|
ティアオフ バーのティアオフ キャプションを描画するときに、フレームワークによって呼び出されます。 |
|
|
|
MDI クライアント領域を消去するときに、フレームワークによって呼び出されます。 |
|
|
|
タブ ウィンドウ内のタブ領域を消去するときに、フレームワークによって呼び出されます。 |
|
タブ ボタンのアイコンとテキストを消去するときに、フレームワークによって呼び出されます。 |
|
タブ フレームを消去するときに、フレームワークによって呼び出されます。 |
|
自動非表示ボタンの背景を塗りつぶすときに、フレームワークによって呼び出されます。 |
|
コントロール バーの背景を塗りつぶすときに、フレームワークによって呼び出されます。 |
|
ツール バー ボタンの背景を塗りつぶすときに、フレームワークによって呼び出されます。 |
|
|
|
これからカスタム ダイアログ ボックスの一部となるコマンド リストに属するツール バー ボタンの背景を塗りつぶすときに、フレームワークによって呼び出されます。 |
|
ヘッダー コントロールの背景を塗りつぶすときに、フレームワークによって呼び出されます。 |
|
ミニフレーム ウィンドウのキャプションを塗りつぶすときに、フレームワークによって呼び出されます。 |
|
Outlook のキャプションの背景を塗りつぶすときに、フレームワークによって呼び出されます。 |
|
Outlook のページ ボタンの内部を塗りつぶすときに、フレームワークによって呼び出されます。 |
|
ポップアップ ウィンドウの背景を塗りつぶすときに、フレームワークによって呼び出されます。 |
|
リボン ボタンの内部を塗りつぶすときに、フレームワークによって呼び出されます。 |
|
リボン エディット コントロールの内部を塗りつぶすときに、フレームワークによって呼び出されます。 |
|
メイン パネルにあるリボン ボタンの内部を塗りつぶすときに、フレームワークによって呼び出されます。 |
|
メイン リボン パネルのメニュー フレームを塗りつぶすときに、フレームワークによって呼び出されます。 |
|
|
|
分割ウィンドウの背景を塗りつぶすときに、フレームワークによって呼び出されます。 |
|
タブの背景を塗りつぶすときに、フレームワークによって呼び出されます。 |
|
CMFCTasksPane 上の CMFCTasksPaneTaskGroup オブジェクトの内部を塗りつぶすために、フレームワークによって呼び出されます。 |
|
CMFCTasksPane コントロールの背景を塗りつぶすときに、フレームワークによって呼び出されます。 |
|
強調表示されたメニュー項目を描画するときに、フレームワークによって呼び出されます。 |
|
ほとんど使用されない、強調表示されたメニュー項目を描画するときに、フレームワークによって呼び出されます。 |
|
非クライアント領域を描画するときに、フレームワークによって呼び出されます。 |
|
フレームとポップアップ メニューのある領域を設定するときに、フレームワークによって呼び出されます。 |
|
システム カラー設定を変更するときに、フレームワークによって呼び出されます。 |
|
アプリケーションのすべてのコントロール バーを再描画します。 |
|
|
|
既定のビジュアル マネージャを設定します。 |
|
無効なツール バー イメージのエンボス モードを有効または無効にします。 |
|
メニューまたはツール バー上のアクティブでないイメージのライティング効果を有効または無効にします。 |
|
アプリケーション メニュー ボタンの外観がフラットかどうかを示すフラグを設定します。 |
|
メニュー シャドウの幅と高さを設定します。 |
|
強調表示されたイメージを描画するときに影を表示するかどうかを示すフラグを設定します。 |
解説
CMFCVisualManager クラスはアプリケーションの GUI を制御します。このため、各アプリケーションは CMFCVisualManager のインスタンスを 1 つ、または CMFCVisualManager から派生したクラスのインスタンスを 1 つ持つことができます。また、アプリケーションは、CMFCVisualManager がない場合も機能します。現在の CMFCVisualManager 派生オブジェクトへのポインタを取得するには、GetInstance 静的メソッドを使用します。
アプリケーションの外観を変更するには、アプリケーションのすべてのビジュアル要素を描画するメソッドを提供する他のクラスを使用する必要があります。そのようなクラスには、CMFCVisualManagerOfficeXP クラス、CMFCVisualManagerOffice2003 クラス、CMFCVisualManagerOffice2007 クラスなどがあります。アプリケーションの外観を変更する場合は、このようなビジュアル マネージャのどれかを SetDefaultManager メソッドに渡します。アプリケーションの外観を Microsoft Office 2003 と同様にする方法の例については、「CMFCVisualManagerOffice2003 クラス」を参照してください。
描画メソッドはすべて仮想です。これにより、アプリケーションの GUI 用にカスタム ビジュアル スタイルを作成できます。独自のビジュアル スタイルを作成するには、ビジュアル マネージャ クラスの派生クラスのどれかを作成し、変更する描画メソッドをオーバーライドします。
使用例
このサンプルは、標準およびカスタムの CMFCVisualManager オブジェクトをインスタンス化する方法の例を示しています。
void CMFCSkinsApp::SetSkin (int iIndex)
{ // destroy the current visual manager
if (CMFCVisualManager::GetInstance () != NULL)
{
delete CMFCVisualManager::GetInstance ();
}
switch (iIndex)
{
case 0:
CMFCVisualManager::GetInstance (); // create the standard visual manager
break;
case 1:
new CMyVisualManager (); // create the first custom visual manager
break;
case 2:
new CMacStyle (); // create the second custom visual manager
break;
}
// access the manager and set it properly
CMFCVisualManager::GetInstance ()->SetLook2000 ();
CMFCVisualManager::GetInstance ()->RedrawAll ();
}
CMFCVisualManager オブジェクトの既定値を取得する方法を次に示します。このコード スニペットは、「TasksPane サンプル : MFC 作業ウィンドウ アプリケーション」の一部です。
int m_nVMargin;
int m_nHMargin;
int m_nGroupSpacing;
int m_nTaskSpacing;
int m_nCaptionHeight;
int m_nTaskOffset;
int m_nIconOffset;
継承階層
必要条件
ヘッダー : afxvisualmanager.h
参照
概念
参照
CMFCVisualManager::GetInstance