![]() |
|
|
![]()
|
|
| interesuuwiysia |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 18.2.2006 Репутация: нет Всего: нет |
Есть значит у меня кнопочка button_1, с ней связана управляющая переменная типа CButton по имени m_button1. Создал функцию OnSpeedIncrement() которая запускается при одиночном щелчке мышкой на кнопочке. Так же можно обработать событие типа"двойной щелчок".
А вот как обработать событие типа кнопка нажата и удерживается (highlight). В MSDN наткнулся на уже изрядно мне надоевшую функцию GetState() с маской 0х0004. Но вот как этим воспользоваться так, чтоб узнать нажата и удерживается кнопка button_1 ??? Пытался делать так: void CS1Dlg::OnSpeedIncrement() { int abc = m_button1.GetState() & 0x0004; char string[10]; itoa(abc,string,10); m_text.SetWindowText(string); // если выведет не 0, то кнопка удерживатеся } но это не правильно, так как я пытаюсь проверить удержание кнопки внутри функции, вызов которой является результатом одиночного клика по этой самой кнопке! Короче, я нифига не пойму как воспользоваться ф-ей ГетСтэйт() для конкретной кнопки!!!! |
|||
|
||||
| Dreamer_0x01 |
|
|||
![]() Терминатор ![]() ![]() Профиль Группа: Участник Сообщений: 780 Регистрация: 14.4.2005 Где: Санкт-Петербург Репутация: 9 Всего: 12 |
можно попробовать так.
в СS1Dlg переопредели PreTrunslateMessage, и необходимые действия производи оттуда. То есть для начала, чтобы проврить работоспособность кода, ты можешь вообще не привязываться к конкретным сообщениям, а запихать туда такой код:
Ну а потом, чтобы убрать излишнюю тормознутость, уже запихать это в обработчик конкретного сообщения (извини, не помню, какого именно.) -------------------- Нет ничего невозможного. Есть цели, и есть время и силы на их достижение. |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Проще всего повесить эту проверку на WM_TIMER.
-------------------- ... |
|||
|
||||
| interesuuwiysia |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 18.2.2006 Репутация: нет Всего: нет |
2 Dreamer 0x01: если тебя не затруднит - стукнись в асю: 299131523
|
|||
|
||||
| interesuuwiysia |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 18.2.2006 Репутация: нет Всего: нет |
Я последовал совету старшего товарища и сделал вот так:
Но всеравно я не могу добиться того, чтобы значение переменной m_speedinputfield_value инкрементировалось раз в четверть секунды, при зажатой кнопке button1!!! Эта m_button1.GetState() & 0x0004 - не работает!!!!! Или я что-то не то делаю? Она вообще с этой маской используется для PushButton? |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Ну намудрили....
Это сообщение отредактировал(а) Coocky - 23.2.2006, 14:23 -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Все работает Возвращает ноль,если не нажата(утоплена), и ОТЛИЧНОЕ от нуля значение, если утоплена Добавлено @ 14:44 Просто поймать ее методами нажатия и отпускания с GetState()-не возможно Делай, как я написал -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
-------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| interesuuwiysia |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 18.2.2006 Репутация: нет Всего: нет |
Спасибо! Буду разбираться дальше
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |