![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
Sekmegalife |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 18.10.2009 Репутация: нет Всего: нет |
Задание следующее: Создать строку ввода с числом 0 и справа от нее - маленькую вертикальную полосы прокрутки. Под ними кнопки ДА и ВЫХОД. При нажатии на верхнюю кнопку полосы число в строке ввода увеличить на единицу, а на нижнюю - уменьшить на единицу. При нажатии кнопки Да - отобразить содержимое строки ввода.
В принципе всё написано, проблема лишь в изменении числа по нажатию мыши... Насколько я понимаю необходимо: 1. Записать строку в буфер 2. Преобразовать в int 3. Увеличить на 1-цу 4. Вернуть в char 5. Передать обратно в строку (проблема с этим пунктом)... Может кто-либо знает, как это реализовать... Буду очень благодарен...
Это сообщение отредактировал(а) xvr - 16.12.2011, 17:49 |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Сильно! Но неправильно ![]() Что бы из строки сделать число можно позвать strtoul или atoi (ну или sscanf в крайнем случае) Что бы сделать из числа строку проще всего воспользоваться sprintf Вместо while (x<10) явно должно быть if (x<10) Ну и для установки числа обратно в Edit нужно воспользоваться сообщением WM_SETTEXT Кстати, для EM_GETLINE нужно специальным образом проинициализировать chBuff, лучше возьмите WM_GETTEXT |
|||
|
||||
Sekmegalife |
|
||||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 18.10.2009 Репутация: нет Всего: нет |
Насколько я понял, должно выглядеть примерно так:
нет под рукой на чём проверить работоспособность...
Это сообщение отредактировал(а) GremlinProg - 19.12.2011, 06:18 |
||||
|
|||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 9 Всего: 45 |
У Вас опять while (i<10)
![]() У меня же другой вопрос. Ваш проект UNICODE? Почему на определение char chBuff[80] Вы делаете приведение типа (LPWSTR)chBuff? И что выйдет из этого: (LPWSTR)"%d"? ![]() Безумное смешение _T(...), L"..." и (LPWSTR)... ![]() Для SendMessage(...WM_SETTEXT...) нужно посылать буфер, а не переменную i. И для WM_GETTEXT нужно задавать размер буфера в символах... Это сообщение отредактировал(а) feodorv - 16.12.2011, 22:05 -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
Sekmegalife |
|
||||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 18.10.2009 Репутация: нет Всего: нет |
Всё-таки сделал немного по-другому... Может пригодиться кому-то:
Это сообщение отредактировал(а) GremlinProg - 19.12.2011, 06:18 |
||||
|
|||||
Sphinx |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 20.7.2006 Репутация: нет Всего: нет |
Есть же готовая API-шная функция - CreateUpDownControl. Программа упрощается в разы.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |