Здравствуйте Dr_Sh0ck, Вы писали:
DS>Здравствуйте Alexander2002, Вы писали:
A>>Здравствуйте!
A>>Нужна помощь в плане изменения вида кнопки при наведении на нее
A>>мышки. Я встречал исходные тексты программ связанных с изменением
A>>внешнего вида кнопки при наведении на нее курсора мышки, но они
A>>написаны для компиляторов (программ), которые половину приложения
A>>пишут сами. Я же все от и до конца пишу сам, в связи с этим у меня
A>>возникла такая проблема. Я не знаю, как это сделать (перепробовал
A>>много вариантов, но успеха не достиг).
A>>Прошу Вас помочь в решении этой проблемы.
A>>Заранее благодарю
A>>Александр
A>>г. Челябинск
A>>E-mail: qwerty@74.ru
DS>Один из путей решения: используешь WM_SETCURSOR, в обработчике делаешь TrackMouseEvent и ловишь WM_MOUSELEAVE.
DS>P.S. Ставь оценку побольше, а то скоро меня раскулачивать будут
DS>
Вообще-то
TrackMouseEvent не работает в win95 если тебе это критично, то обрабатывай
WM_MOUSEMOVE,
и смотри, находится ли курсор над кнопкой. Для этого юзай:
GetCursorPos
WindowFromPoint
ChildWindowFromPoint
Как только тебе приходит сообщение
WM_MOUSEMOVE, смотри, был ли курсор вне кнопки до этого. Если да, то делаешь
SetCapture, чтобы
WM_MOUSEMOVE тебе прилетал, даже если курсор выйдет за границы кнопки. Как только обнаружишь, что курсор таки вылез, делаешь
ReleaseCapture и все.