|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.09.2022, 12:41 | #1 | |
Форумчанин
Регистрация: 22.01.2014
Сообщений: 313
|
Отловить попытку нажатия "button".
Здравствуйте! Вновь возникли трудности следующего характера:
Цитата:
Код:
С интерфейсом разобрались, теперь к главному, я полагал так: в элемент управления "static" вывести сообщение, но, видимо, изменить это сообщение уже нельзя так как этот элемент управления не имеет сообщений и оповещений, я прав? Ну и условие "При попытке нажать на кнопку", что это значит, как понять, что это попытка нажать на кнопку? Думал так, если отловить сообщение WM_MOUSEMOVE то можно сделать предположение, что пользователь хочет нажать на кнопку, но во-первых отловить сообщение от кнопки с помощью WM_MOUSEMOVE не получается, во-вторых, возможно, он и не собирается нажимать на кнопку, а лишь на мгновение поместил курсор на кнопку. Как-то сложно получается, не могу решить сам, буду рад любому совету. Думал о захвате кнопки или это тоже не вариант? Из всего этого я понял только про переместить кнопку, как вывести сообщение(тут есть вариант),а как его изменить, не знаю.) |
|
25.09.2022, 13:28 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
|
26.09.2022, 05:12 | #3 |
Форумчанин
Регистрация: 22.01.2014
Сообщений: 313
|
|
26.09.2022, 06:26 | #4 |
Форумчанин
Регистрация: 22.01.2014
Сообщений: 313
|
Если речь идёт об оповещении BN_CLECKED, то оно получается родительским окном кнопки по факту совершённого действия над кнопкой т.е. тогда когда я на неё нажму. Если бы всё было так просто я бы и спрашивать не стал, но в условии сказано "При попытке нажать на кнопку" я понимаю это как действие над кнопкой, которое ещё не выполнилось, но вот-вот должно выполниться. А если это так, то сообщение WM_COMMAND для кнопки ещё не отправлялось. Может быть я условие не правильно понял, не знаю.
Хотя, если честно не знаю, как можно отследить ПОПЫТКУ НАЖАТИЯ кнопки, просветите, если возможно. С BN_CLECKED я написал, только объект "static" заменил на "button" со стелем кнопки BS_TEXT, сделал эту кнопку не активной и всё работает. Думаю, можно сделать ещё так: создать кнопку со стелем BS_GROUPBOX она будет содержать сообщение, а внутри создать кнопку "Прекратить", так как в условии требования об использовании каких-либо конкретных объектов не уточнялись. Хочется понять правильно я мыслю или нет. |
26.09.2022, 06:42 | #5 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Смотря что понимать под попыткой нажать кнопку. Возможно достаточно ограничиться получением координат курсора мыши на экране (окне) и отслеживать попадания курсора в область кнопки. Тогда оповещения от кнопки не нужны будут совсем.
|
26.09.2022, 06:57 | #6 |
Форумчанин
Регистрация: 22.01.2014
Сообщений: 313
|
Вот это я и пытаюсь понять, если так неоднозначно дано условие, то как его можно продолжать решать. Зачем кнопку перемещать, тоже не ясно, как её перемещать случайно выбирать координаты или достаточно по углам её перемешать, левый верхний, правый нижний...
|
26.09.2022, 07:29 | #7 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Как раз на мой способ и намекает необходимость перемещения. Вы предупреждаете любую попытку нажатия на кнопку анализируя координаты курсора и убираете из под него кнопку.
|
26.09.2022, 09:04 | #8 | |
Форумчанин
Регистрация: 22.01.2014
Сообщений: 313
|
Цитата:
Код:
|
|
26.09.2022, 17:08 | #9 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Ну прочитайте уже документацию: https://learn.microsoft.com/en-us/wi...-hotitemchange
|
27.09.2022, 05:21 | #10 |
Форумчанин
Регистрация: 22.01.2014
Сообщений: 313
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Необходимо написать "таймер", который будет запускаться при нажатии кнопки "Start", приостанавливаться на "Pause", и сбрасываться на "Reset" | billiejean78 | JavaScript, Ajax | 1 | 03.09.2021 08:58 |
Убрать папки "Pictures", "Music", "Видео", "Downloads" из "МОЙ КОМПЬЮТЕР" | Бахтиёр1916 | Windows | 1 | 05.04.2017 12:53 |
Нужно пояснить/прокомментировать код программы, или коды функций "Добавить" "Удалить" "Обновить(редактировать" "Поиск" "Период") | ZIRASS | PHP | 4 | 15.06.2016 14:23 |
System.Windows.Forms.Button" не содержит определение для "Color". | Вэйлинк | C# (си шарп) | 2 | 04.11.2014 12:15 |
Как "повесить " передачу данных из формы на событие нажатия кнопки типа "button" ? | vedro-compota | JavaScript, Ajax | 10 | 14.12.2010 21:05 |