Я установил кнопку владельца.
Я делаю это с помощью Rectangle и используя сообщение WM_DRAWITEM.
И по кнопке удалось судить о ВКЛ / ВЫКЛ.
Но я хочу добавить эффект наведения как css: hover.
Я хочу сменить цвет на несколько секунд.
Это трудно.
Я искал несколько дней. Но я не могу найти решение.
Это мой первый вопрос.
Прошу прощения за плохой английский.
Я пытался поймать мышь (x, y).
Но я не могу.
case WM_MOUSEMOVE:
x = LOWORD(lp);
y = HIWORD(lp);
if(buttonlefttop<= x <= buttonlefttop + buttonwidth && buttontoptop<= y
<= buttontoptop + buttonheight){
std::cout<<"[INFO] "<<"ON\n";
}else{
std::cout<<"[INFO] "<<"OFF\n";
}
case WM_DRAWITEM:
hdc = ((LPDRAWITEMSTRUCT) (lp)) -> hDC;
if (((LPDRAWITEMSTRUCT)(lp))->itemState & ODS_SELECTED) {
hpen = CreatePen(PS_SOLID, 5, RGB(80, 91, 109));
hbr = CreateSolidBrush(RGB(80, 91, 109));
SelectObject(hdc, hpen);
SelectObject(hdc, hbr);
std::cout<<"[INFO] ON\n";
}else {
hpen = CreatePen(PS_SOLID, 5, RGB(73, 147, 120));
hbr = CreateSolidBrush(RGB(73, 147, 120));
SelectObject(hdc, hpen);
SelectObject(hdc, hbr);
std::cout<<"[INFO] OFF\n";
}
Rectangle(hdc , 0 , 0 ,
buttonwidth,buttonheight
);
DeleteObject(SelectObject(hdc , GetStockObject(WHITE_BRUSH)));
return TRUE;
Я не могу добавить hovereffect.