Re: Нажатие кнопк (IDC_BUTTON)
От: CEMb  
Дата: 08.06.11 15:35
Оценка:
Здравствуйте, onotol3, Вы писали:

O>В проекте есть диалог на котором выводятся кнопки. И по нажатию кнопки мне нужно изменять значение переменной, но по нажатию значение увеливается "один раз", а нужно чтобы по нажатию на кнопку значение увеличивалось пока кнопка не будет отпущена. Нажатие кнопки отслеживаю таким образом:

O>
O>case WM_COMMAND:
O>{
O>    if (wParam == IDC_BUT_XPRIBLIZ)
O>    {    
O>        oxright +=0.2;
O>        return true;
O>    }
O>}
O>



пока кнопка не будет отпущена

А сколько раз в единицу времени?

Вообще, WM_COMMAND генерируется не когда кнопка нажата, а когда отжата. Это можно увидеть, если нажимать кнопку мышкой медленно.
По-моему, штатных средств, т.е. сообщений в родительское окно, по которым можно понять "нажали-отжали" — нету.
Я бы делал сабклассинг кнопки.
Если диалог живёт недолго — я бы посоветовал таймер и чекбокс(попробовать, не уверен)
Таймер:
SetTimer, KillTimer
событие WM_TIMER
в нём проверять состояние кнопки через BM_GETSTATE

Или, опять же, не совсем ясна задача... для накручивания переменной можно взять контрол SPIN, он же UP-DOWN. У него ровно нужная функциональность — накручтивает переменную пока нажат. Причём переменная уже внутри есть, и даже можно штатными средствами едит-бокс прикрутить и настроить по-разному, чтоб сам эту переменную показывал.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.