CMFCColorBar クラス
CMFCColorBar クラスは、ドキュメントまたはアプリケーションで色を選択できるドッキング コントロール バーを表します。
class CMFCColorBar : public CMFCPopupMenuBar
メンバー
プロテクト コンストラクター
[名前] |
説明 |
---|---|
CMFCColorBar オブジェクトを構築します。 |
パブリック メソッド
[名前] |
説明 |
---|---|
カラー バー コントロールのボタンを格納するために必要な垂直方向と水平方向のマージンを計算し、そのボタンの位置を調整します。 |
|
カラー バー コントロール ウィンドウを作成し、CMFCColorBar オブジェクトに結び付け、指定されたカラー パレットが格納されるようにコントロールのサイズを変更します。 |
|
カラー バー コントロール ウィンドウを作成し、CMFCColorBar オブジェクトに結び付けます。 |
|
自動ボタンの表示、非表示を切り替えます。 |
|
ユーザーがより多くの色を選択できるダイアログ ボックスの表示を有効または無効にします。 |
|
現在選択されている色を取得します。 |
|
現在のカラー バー コントロールのコマンド ID を取得します。 |
|
カラー ボタンにフォーカスがある、つまり、ボタンがホットであることを示す色を取得します。 |
|
水平方向のマージンを取得します。水平方向のマージンは、左右の色セルとクライアント領域の境界の間の領域です。 |
|
縦方向のマージンを取得します。縦方向のマージンは、上部または下部の色セルとクライアント領域の境界の間の領域です。 |
|
現在のカラー バーがドッキング可能であるかどうかを示します。 |
|
現在選択されている色を設定します。 |
|
指定した色の新しい名前を設定します。 |
|
カラー バー コントロールの新しいコマンド ID を設定します。 |
|
現在のドキュメントで使用する色のリストを設定します。 |
|
水平方向のマージンを設定します。水平方向のマージンは、左右の色セルとクライアント領域の境界の間の領域です。 |
|
縦方向のマージンを設定します。縦方向のマージンは、上部または下部の色セルとクライアント領域の境界の間の領域です。 |
プロテクト メソッド
[名前] |
説明 |
---|---|
カラー バー コントロールのカラー ボタンの位置を調整します。 |
|
カラー ボタンのテキスト ラベルを変更できるかどうかを示します。 |
|
カスタマイズ中にツール バー一覧にカラー バー コントロール オブジェクトを表示できるかどうかを示します。 |
|
レイアウト計算の処理の過程でフレームワークによって呼び出されます。 |
|
指定した色の配列で色を指定して、パレットを初期化します。 |
|
カラー バー コントロールのグリッドの行数と列数を計算します。 |
|
現在のカラー バーで [その他] ボタンやドキュメントの色などのさまざまなユーザー インターフェイス要素を表示するために必要な追加の高さを計算します。 |
|
指定したパレットの色またはシステムの既定のパレットで、色の配列を初期化します。 |
|
ユーザーがキーボード ボタンを押したときに、フレームワークによって呼び出されます。 |
|
ポップアップ コントロールの階層構造を閉じるために、フレームワークによって呼び出されます。 |
|
カラー バー コントロールのユーザー インターフェイス項目を表示する前に、その項目の有効と無効を切り替えるために、フレームワークによって呼び出されます。 |
|
色のダイアログ ボックスを開きます。 |
|
カラー バー コントロールを完全に再描画します。 |
|
指定したデバイス コンテキストの論理パレットを、現在のカラー バー コントロールの親ボタンのパレットに設定します。 |
|
m_pWndPropList プロテクト データ メンバーを、プロパティ グリッド コントロールへの指定したポインターに設定します。 |
|
カラー バー コントロールを所有するフレーム ウィンドウに対して、ステータス バーのメッセージ行の更新を要求します。 |
プロテクト データ メンバー
[名前] |
説明 |
---|---|
m_bInternal |
マウス イベントが処理されるかどうかを表すブール値フィールド。 通常、このフィールドが TRUE で、カスタマイズ モードが FALSE の場合は、マウス イベントが処理されます。 |
m_bIsEnabled |
コントロールが有効かどうかを示すブール値。 |
m_bIsTearOff |
カラー バー コントロールがドッキングをサポートするかどうかを示すブール値。 |
m_BoxSize |
カラー バー グリッドのセルのサイズを指定する CSize オブジェクト。 |
m_bShowDocColorsWhenDocked |
カラー バーがドッキングされたときにドキュメントの色を表示するかどうかを示すブール値。 詳細については、「CMFCColorBar::SetDocumentColors」を参照してください。 |
m_bStdColorDlg |
標準システムの色のダイアログ ボックスを表示するか、CMFCColorDialog ダイアログ ボックスを表示するかを示すブール値。 詳細については、「CMFCColorBar::EnableOtherButton」を参照してください。 |
m_ColorAutomatic |
現在の自動設定の色を格納する COLORREF。 詳細については、「CMFCColorBar::EnableOtherButton」を参照してください。 |
m_ColorNames |
RGB カラーのセットをその名前と関連付ける CMap オブジェクト。 |
m_colors |
|
m_ColorSelected |
ユーザーがカラー バー コントロールから現在選択している色を示す COLORREF 値。 |
m_lstDocColors |
|
m_nCommandID |
カラー ボタンのコマンド ID を示す符号なし整数。 |
m_nHorzMargin |
色のグリッドにあるカラー ボタン間の水平マージンを示す整数。 |
m_nHorzOffset |
カラー ボタンの中心への水平オフセットを示す整数。 この値は、テキストまたはイメージに加えて色がボタンに表示されている場合に有効です。 |
m_nNumColumns |
色のカラー バー コントロール グリッドの列数を示す整数。 |
m_nNumColumnsVert |
色の垂直方向のグリッドの列数を示す整数。 |
m_nNumRowsHorz |
色の水平方向のグリッドの列数を示す整数。 |
m_nRowHeight |
色のグリッドにあるカラー ボタンの行の高さを示す整数。 |
m_nVertMargin |
色のグリッドにあるカラー ボタン間の垂直マージンを示す整数。 |
m_nVertOffset |
カラー ボタンの中心への垂直オフセットを示す整数。 この値は、テキストまたはイメージに加えて色がボタンに表示されている場合に有効です。 |
m_Palette |
カラー バー コントロールで使用される色の CPalette。 |
m_pParentBtn |
現在のボタンの親である CMFCColorButton オブジェクトへのポインター。 この値は、カラー ボタンがツール バーの階層またはカラー プロパティ グリッド コントロールにある場合に有効です。 |
m_pParentRibbonBtn |
リボン上にあり、現在のボタンの親ボタンである CMFCRibbonColorButton オブジェクトへのポインター。 この値は、カラー ボタンがツール バーの階層またはカラー プロパティ グリッド コントロールにある場合に有効です。 |
m_pWndPropList |
CMFCPropertyGridCtrl オブジェクトへのポインター。 |
m_strAutoColor |
[自動] ボタンに表示されるテキストである CString。 詳細については、「CMFCColorBar::EnableAutomaticButton」を参照してください。 |
m_strDocColors |
ドキュメントの色ボタンに表示されるテキストである CString。 詳細については、「CMFCColorBar::SetDocumentColors」を参照してください。 |
m_strOtherColor |
[その他] ボタンに表示されるテキストである CString。 詳細については、「CMFCColorBar::EnableOtherButton」を参照してください。 |
解説
通常は、CMFCColorBar オブジェクトを直接作成しないでください。 代わりに、CMFCColorMenuButton クラス (メニューおよびツール バーで使用されます) または CMFCColorButton クラスにより CMFCColorBar オブジェクトが作成されます。
CMFCColorBar クラスには、次の機能が用意されています。
ドキュメントの色のリストを自動的に調整します。
その状態をドキュメントの状態と共に保存および復元します。
"自動" ボタンを管理します。
CMFCColorPickerCtrl クラス コントロールを使用して、カスタムの色を選択します。
"ティアオフ" 状態をサポートします (CMFCColorMenuButton クラスにより作成される場合)。
CMFCColorBar 機能をアプリケーションに組み込むには、次の操作を行います。
標準メニュー ボタンを作成して ID (この例では ID_CHAR_COLOR) を割り当てます。
フレーム ウィンドウ クラスで、CFrameWndEx::OnShowPopupMenu メソッドをオーバーライドして、(CMFCToolBar::ReplaceButton を呼び出すことにより) 標準メニュー ボタンを CMFCColorMenuButton クラス オブジェクトと置き換えます。
すべてのスタイルを設定し、CMFCColorMenuButton クラス の作成中に CMFCColorBar オブジェクトの機能を有効または無効にします。 フレームワークが CreatePopupMenu メソッドを呼び出した後、CMFCColorMenuButton オブジェクトにより CMFCColorBar オブジェクトが動的に作成されます。
ユーザーがカラー バー コントロール ボタンをクリックすると、フレームワークは ON_COMMAND マクロを使用してカラー バー コントロールに通知します。 マクロでは、コマンド ID パラメーターは手順 1. でカラー バー コントロール ボタンに割り当てた値 (この例では ID_CHAR_COLOR) になります。 詳細については、「CMFCColorMenuButton クラス」、「CMFCColorButton クラス」、「CMFCColorPickerCtrl クラス」、「CFrameWndEx クラス」、および「CMFCToolBar クラス」を参照してください。
使用例
CMFCColorBar クラスのさまざまなメソッドを使用してカラー バーを設定する方法を、次の例に示します。 これらのメソッドは、水平マージンと垂直マージンを設定して、その他ボタンを有効にし、カラー バー コントロール ウィンドウを作成して、現在選択されている色を設定します。 この例は、「NewControls サンプル:MFC コントロール デモンストレーション アプリケーション」の一部です。
CMFCColorBar m_wndColorBar;
...
// set the margins
m_wndColorBar.SetHorzMargin(0);
m_wndColorBar.SetVertMargin(0);
// enable the display of a dialog box that
// lets the user select more colors
m_wndColorBar.EnableOtherButton(_T("Other..."));
// create a color bar control window
m_wndColorBar.CreateControl(this, rectColorBar, IDC_COLORBAR, 5 /* columns */);
// set the currently selected color
m_wndColorBar.SetColor(RGB(255, 0, 0));
継承階層
必要条件
**ヘッダー:**afxcolorbar.h