CBitmapButton クラス
ラベルがテキストではなくビットマップ イメージのプッシュ ボタン コントロールを作成します。
class CBitmapButton : public CButton
メンバー
パブリック コンストラクター
名前 |
説明 |
---|---|
CBitmapButton オブジェクトを構築します。 |
パブリック メソッド
名前 |
説明 |
---|---|
ダイアログ ボックスのボタンを CBitmapButton のクラスのオブジェクトと関連付け、ビットマップを名前で読み込んで、ビットマップに合わせてボタンのサイズを設定します。 |
|
オブジェクトへのアプリケーションのリソース ファイルから一つ以上の名前付きビットマップ リソースの読み込みおよびビットマップを割り当てることによってオブジェクトを初期化します。 |
|
ボタンのビットマップが収まるようにサイズが調整されます。 |
解説
CBitmapButton のオブジェクトは、ボタンが判断できるさまざまな状態のイメージを持つ 4 つまでのビットマップが含まれています: の上 (または標準)、(または選択される)、ローカライズされ、無効にします。最初のビットマップのみ必要です; そのほかは省略可能です。
ビットマップ ボタンのイメージは、イメージ、またはイメージの周囲に境界線が含まれます。境界線は、通常、ボタンの状態の表示の役割を果たします。たとえば、フォーカスがある状態のビットマップは、その境界に上向きの状態の、境界線または太い実線の破線の四角形のくぼんだと通常のようになります。無効な状態のビットマップは通常、上向きの状態を表す 1 桁に似ていますが、下位のコントラストがあります (淡色または灰色のメニュー選択など)。
これらのビットマップは、任意のサイズですが、同じサイズと上向きの状態のビットマップのようにすべてが処理されます。
さまざまなアプリケーションでビットマップ イメージのさまざまな組み合わせが必要です:
上へ |
下へ |
Focused |
Disabled |
アプリケーション |
---|---|---|---|---|
× |
|
|
|
ビットマップ |
× |
× |
|
|
WS_TABSTOP のないボタンのスタイル |
× |
× |
× |
× |
すべての状態のダイアログのボタン |
× |
× |
× |
|
WS_TABSTOP のスタイルのダイアログのボタン |
ビットマップ ボタン コントロールを作成する場合、ボタンがオーナー描画するように指定するに BS_OWNERDRAW のスタイルを設定します。これにより、Windows はボタンの WM_MEASUREITEM と WM_DRAWITEM のメッセージを送信します; フレームワークは、これらのメッセージを処理してのボタンの外観を管理します。
ウィンドウのクライアント領域のビットマップ ボタン コントロールを作成するには
ボタンの 1 ~ 4 個のビットマップ イメージを生成します。
CBitmapButton のオブジェクトを構築します。
Windows のボタン コントロールを作成し、CBitmapButton のオブジェクトにアタッチするに [作成] 関数を呼び出します。
ビットマップ ボタンが構築されたらビットマップ リソースを読み込むように LoadBitmaps のメンバー関数を呼び出します。
ビットマップ ボタン コントロールをダイアログ ボックスに含めるには
ボタンの 1 ~ 4 個のビットマップ イメージを生成します。
ビットマップ ボタンを目的の位置に設定されているオーナー描画ボタンを含むダイアログ テンプレートを作成します。テンプレートのボタンのサイズは重要ではありません。
ボタンのキャプションをMYIMAGE「」などの値に設定し、IDC_MYIMAGEなどのボタンのシンボルを定義します。
アプリケーションのリソース スクリプトでは、手順 3.でボタンのキャプションに使用する文字列にボタン用に作成されたイメージをそれぞれ文字「U の 1 種類の」、「D 追加に構築された」、ID 「F」、または「X」 (の場合は、ローカライズされ、無効化) 付けます。ボタンのキャプションMYIMAGE「の」たとえば、ID は、「MYIMAGEU」、「MYIMAGED」、「MYIMAGEF」、および「」MYIMAGEX。must 二重引用符で囲むのビットマップの ID を指定します。他のエディターでリソースが、リソースに整数を割り当て、イメージを読み込むときに、MFC は失敗します。
アプリケーションのダイアログ クラスでは CDialog (から派生)、CBitmapButton のメンバー オブジェクトを追加します。
CDialog のオブジェクトの OnInitDialog ルーチンでは、CBitmapButton のオブジェクトの 自動ロード 関数を呼び出し、パラメーターとしてボタンのコントロール ID と CDialog のオブジェクトの this のポインター使用します。
処理する場合、Windows の通知メッセージ、親にビットマップ ボタン コントロールから送信された BN_CLICKEDのような (通常 **CDialog)**から派生したクラスは、CDialog派生オブジェクトへ各メッセージのメッセージ マップのエントリとメッセージ ハンドラー メンバー関数追加します。CBitmapButton のオブジェクトから送信される通知は CButton のオブジェクトが送信した場合と同じです。
クラス CToolBar は、ビットマップ ボタンに別の方法を受け取ります。
CBitmapButtonの詳細については、コントロールを参照してください。
継承階層
CBitmapButton
必要条件
Header: afxext.h