|
1 / 0 / 0
Регистрация: 04.01.2016
Сообщений: 2
|
||||||
Создание "некривых" кнопок, которые будут подсвечиваться при наведении мыши04.01.2016, 12:54. Показов 910. Ответов 0
Маленькая ремарка: эта тема уже поднималась, но никто не делал этого в отдельном классе!
Такой вопрос имею к Вам, господа форумчане: У меня создан отдельный класс xWindow, в котором описаны функции: регистрация класса создания окна static LRESULT CALLBACK WndProc (в которой я получаю указатель на this через GetWindowLongPtr и передую управление в myWndProc) LRESULT CALLBACK myWndProc (в котором уже соответственно реализована обработка сообщений) все это сделано для того, чтобы в main можно было красиво написать (и это работает):
делал это тремя способами: 1 - через CustomDraw, однако сообщения WM_Notify не приходит родительскому окну ни в каком случае (все остальные сообщения проходят) 2 - через WM_DRAWITEM (супер работает, рисую кнопку как хочу) но общая задача была такая, чтобы кнопка подсвечивалась когда курсор мышки над ней и плавно гасилась, когда он вне кнопки. в WM_DRAWITEM есть проверка на фокус кнопки или на select - это нифига не положение мышки над кнопкой. Конечно можно сделать через Mousemoove или проверять положение курсора по таймеру и тп, но если кнопок будет больше 20 то все это будет коряво. поэтому пошел 3м путем: 3 - субклассирование кнопки HWND button = createWindow () SetWindowLongPtr(button , GWLP_WNDPROC, (LONG_PTR)BtnProc); Далее пишу btnProc в своем классе, если сделать ее не статичной то SetWindowLongPtr выдает ошибку. сделал статичной прописал внутри WM_PAINT - вуаля, кнопки рисуются так как я хочу MouseMoove срабатывает тоже четко, сразу генерится событие если мышка над кнопкой, можно сделать флажок и в wm_paint рисовать по другому к примеру однако не работает тогда WM_COMMAND и более того передать дальше сообщение для общей оконной процедуры тоже нельзя, тк мы в статической функции и нельзя в ней использовать методы своего класса. Подскажите как быть? или надо так же создавать не статическую myButtonWndProc и передавать в нее обработку.. Если какие либо другие идеи, то тоже готов выслушать! Заранее спасибо! Всех с Новым Годом!
0
|
||||||
| 04.01.2016, 12:54 | |
|
Ответы с готовыми решениями:
0
Ссылка должна подсвечиваться при наведении на картинку Как изменить цвет выделения кнопок при наведении мыши Кнопки при наведении на которые будут увеличиваться (VS2022) |
| 04.01.2016, 12:54 | |
|
Помогаю со студенческими работами здесь
1
Создание эффекта при наведении мыши Реализовать функции кнопок, которые при нажатии будут выводить определенные виды заявок: покупку, продажу или все сразу.
Как сделать скрипт на создание 3-4 объектов, которые будут спавняться при ЛКМ, но с разными значениями Создание кнопок в рантайме по клику мыши. Как прекратить создание? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|