Событие наведения мыши MFC C++ CButtonC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Событие наведения мыши MFC C++ CButton

Сообщение Anonymous »


BEGIN_MESSAGE_MAP(CPQVDirect2DControlsDlg, CDialogEx) ON_WM_TIMER() ON_WM_PAINT() ON_WM_DRAWITEM() ON_WM_ERASEBKGND() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDC_BUTTON1, &CPQVDirect2DControlsDlg::OnBnClickedTestButton) ON_BN_CLICKED(IDC_CHECK1, &CPQVDirect2DControlsDlg::OnBnClickedTestCheckbox) ON_BN_CLICKED(IDOK, &CPQVDirect2DControlsDlg::OnBnClickedOk) ON_NOTIFY(NM_CUSTOMDRAW, IDC_SLIDER1, &CPQVDirect2DControlsDlg::OnNMCustomdrawSlider1) ON_BN_CLICKED(IDC_BUTTON3, &CPQVDirect2DControlsDlg::OnBnClickedButton3) ON_BN_CLICKED(IDC_BUTTON2, &CPQVDirect2DControlsDlg::OnBnClickedButton2) ON_WM_MOUSEMOVE() // Я ЭТО ДОБАВИЛ END_MESSAGE_MAP() void CPQVDirect2DControlsDlg::OnMouseMove (UINT nFlags, точка CPoint) { CRect прямой; CButton* pButton = static_cast(GetDlgItem(IDC_BUTTON1)); // Замените IDC_MY_BUTTON на идентификатор вашей кнопки // Проверяем, находится ли указатель мыши над кнопкой if (pButton != nullptr && pButton->GetSafeHwnd() != nullptr) { pButton->GetClientRect(&rect); pButton->ScreenToClient(&point); если (rect.PtInRect(точка)) { // Изменяем цвет кнопки при наведении на нее курсора мыши интервал я = 10; pButton->Инвалидировать(); } еще { // Возвращаемся к цвету по умолчанию, когда мышь уходит интервал я = 20; pButton->Инвалидировать(); } } CDialogEx::OnMouseMove(nFlags, точка); } Моя точка останова должна находиться на int i = 10;, но она всегда доходила до int i = 20; даже моя мышь на IDC_BUTTON1. Может кто-нибудь помочь, как изменить границу кнопки при наведении курсора мыши? Я новичок в MFC C++
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»