ボタンの上にマウスカーソルがおかれたとき、ボタンをアップさせたいのですが、
ボタンの上にマウスカーソルが置かれた状態のことをフォーカスといわないのでしょう
か?
CBitmapButton をクリエイトして
でビットマップを読み込ませ、CBitmapButton::LoadBitmapsで
引数を4つとも入れて、フォーカス時に別のビットマップデータを
表示させようとしているのですが、
ボタンの上にマウスカーソルがおかれても、何の変化もありません。
どうすれば、よろしいのでしょうか?
m_bitmapbutton = new CBitmapButton ;
m_bitmapbutton->Create(_T(A_),
WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW,
CRect(0, 0, 780, 480),
this,
ID_SO_START);
m_bitmapbutton->LoadBitmaps(A_U,A_D,A_F,A_X);
ボタンの上にマウスカーソルがおかれたとき==ホバリングのことなら
ボタンの上でWM_MOUSEMOVEが発生したときに
TRACKMOUSEEVENTのdwFlags にTME_HOVERを
セットしてTrackMouseEvent()を呼び出すと
一定時間後にWM_MOUSEHOVERが発生します。
// CButton m_btn;
if(pMsg->hwnd == m_btn.m_hWnd) {
if(pMsg->message == WM_MOUSEMOVE) {
TRACKMOUSEEVENT tme;
tme.cbSize = sizeof(tme);
tme.dwFlags = TME_HOVER;
tme.hwndTrack = m_btn.m_hWnd;
tme.dwHoverTime = 2000;
TrackMouseEvent(&tme);
}
if(pMsg->message == WM_MOUSEHOVER) {
TRACE(WM_MOUSEHOVER\n);
}
}
詳細はMSDNで確認してください