ダイアログアプリのウィンドウ領域について
いつもお世話になります。
VC++6.0MFCダイアログベースでアプリを開発しているのですが、
ビットマップ画像(100×100)をダイアログに貼り付けています。
円の画像ですが、ビットマップなので四角の画像になっています。
そこで楕円のリージョンを作って、
// 楕円のリージョンを作る
m_rgn.CreateEllipticRgn(0,0,100,100);
// ウィンドウのリージョンを設定する
SetWindowRgn((HRGN)m_rgn ,TRUE);
こんな感じで表示したらウィンドウは丸くなっています。
そこで上記で作成したリージョンの上をマウスがオーバーしたら
画像を差し替えたいのですが、どうしても、ダイアログ
の領域(四角)で反応してしまいます。
CPoint pos;
CRect rect;
GetCursorPos(&pos);
GetWindowRect(&rect);
if (rect.PtInRect(pos)) {
// マウスが上に来ている
m_bMouseOver = TRUE;
} else {
// マウスは上にはない
m_bMouseOver = FALSE;
}
こんな感じでm_bMouseOverの中身を見て画像を差し替えています。
リージョンで作成した楕円の上だけで反応させるには
どのようにすればいいのでしょうか?
わかりにくいかもしれませんがアドバイスよろしくお願い致します。
お礼
本当ですね! その部分のどこかをクリックしたらコロコロ出来ました! ありがとうございました!