|
ピクチャーコントロールの基本
今回はピクチャーコントロールです。ピクチャーコントロールは、ビットマップやアイコンをダイアログに貼り付けたり、縁取り、区切り線、塗りつぶしなど、ダイアログのちょっとしたアクセントに使うことができます。
では、リソースエディタでピクチャーコントロールを追加してみましょう。作るというほどのものでもないですが、いろいろと貼り付けてみました。ビットマップとアイコンはあらかじめビットマップリソース、アイコンリソースを用意しておき、プロパティの「Image」にIDを指定します。

ピクチャーコントロールのプロパティで、「Type」を「フレーム」にすると、四角形のフレームになります。「Color」を黒、灰色、白、縁取りに変えると、それぞれ色が変わります。
「Type」を「水平縁取り」、「垂直縁取り」にすると、それぞれ横方向、縦方向の区切り線が描画できます。
「Type」を「アイコン」、「ビットマップ」にすると、アイコン、ビットマップリソースをそれぞれ表示することができます。
「Type」を「四角形」にすると、四角形で塗りつぶします。「Color」を黒、灰色、白に変えると、それぞれ色が変わります。
「Border」を「True」にすると、周りにボーダーラインを描画します。
「Client Edge」を「True」にすると、くぼんだようなボーダーがつきます。
「Modal Frame」を「True」にすると、浮き上がったようなボーダーがつきます。
「Static Edge」を「True」にすると、少しくぼんだようなボーダーがつきます。
「Sunken」を「True」にすると、半分のくぼみ線のボーダーがつきます。(Static Edgeと同じ?)
また、ピクチャーコントロールは、クリック、ダブルクリックのイベントをハンドリングすることができます。これを使う場合は、リソースIDをIDC_STATIC以外に変更し、「Notify」を「True」にします。

次にピクチャコントロールを右クリックし、「イベントハンドラの追加」を選択し、「メッセージの種類」に「STN_CLICKED」を選択します。


ハンドラが追加されるので、コードを記述します。ここでは、メッセージボックスを表示するようにしてみました。
// ピクチャーコントロールクリック
void CPictureDlg::OnStnClickedPicIcon()
{
MessageBox(_T("アイコンがクリックされました。"));
}
|
では、ビルドして実行してみます。アイコン部分をクリックするとメッセージボックスが表示されます。よくわかりませんが、実行すると「Border」が「Client Edge」と同じになってしまうようです。

|