![]() |
|
![]() ![]() ![]() |
|
Sasha1 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 12.12.2005 Репутация: нет Всего: нет |
Есть Баттон1
и есть Едит1. на кнопки надпись 1 , как сделать так чтобы при нажатие на кнопку , он вносил в Поле Едит1 единицу. а если нажать ещё раз то 11 .. 111 и т .д ( Как в Виндовском калькуляторе. ) и запоминал ето значение в какуето Даббле переменную ? ![]() |
|||
|
||||
Sasha1 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 12.12.2005 Репутация: нет Всего: нет |
![]() |
|||
|
||||
Nikol |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 123 Регистрация: 5.4.2006 Где: Берег Черного мор я Репутация: нет Всего: 4 |
Можно попробовать за эдитом закрепить стринговую переменную, и при каждом нажатии добавлять к строке единицу. А потом при необходимости преобразовать cтроку в число. Но это, по-моему, как-то по китайски. Зато просто.
![]() Добавлено @ 02:26 Вот еще вариант, вроде получше. За эдитом закрепи числовую переменную, например, Double, как ты хотел и инициализируй нулем. Тогда при нажатии кнопки новое число будет получаться путем умножения старого на 10 и прибавлением единицы. Примерно так: 0 1 = 0*10+1 11 = 1*10+1 111 = 11*10+1 --------------------
Я не волшебник, я только учусь. |
|||
|
||||
Sasha1 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 12.12.2005 Репутация: нет Всего: нет |
а как ето бедт выгледить , в Коде ? ..
![]() |
|||
|
||||
LPNcom |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 4.5.2006 Репутация: нет Всего: нет |
Если камасутру не использовать, то можно так
Кликаешь на своей кнопке два разА, и тебя пошлют в созданную функцию OnBnClickedButton1 Функция будет вызываться при нажфтиии на кнопку Там пишешь CString Str; p_Edit.GetWindowText(Str); Str+="1"; p_Edit.SetWindowText(Str); p_Edit это твой Едит |
|||
|
||||
Sasha1 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 12.12.2005 Репутация: нет Всего: нет |
а как сделать с позицианированием. т.е
есть два Едита ... я хочу сначало так ввести число впервы и потом также во второй ? как на калькуляторе ? |
|||
|
||||
LPNcom |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 4.5.2006 Репутация: нет Всего: нет |
Нипонял маненько что требуется
Запустил виндоусовский калькулятор - дак там одно поле. ![]() Заведи переменную для второго едита и фсе дела |
|||
|
||||
Sasha1 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 12.12.2005 Репутация: нет Всего: нет |
у меня 2 едита , я тыкаю на кнопочки и набирается число токо в первом естественно , а как сделать что бы я при тыкание на 1 поле он позицианировал и набирал по нажатию кнопочек только в нем , а когда я тыкаю во второе поле то он набирал только в нём ? )))
|
|||
|
||||
cozzzy |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 29.4.2006 Где: Харьков Репутация: нет Всего: нет |
||||
|
||||
Nikol |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 123 Регистрация: 5.4.2006 Где: Берег Черного мор я Репутация: нет Всего: 4 |
Я и имела ввиду то, что ты написал, но с учетом того, что калькулятор должен еще и считать, а для этого нужны числа. Поэтому лучше второй вариант. По-моему такой код выглядит вполне компактно, а число получается сразу:
А для кнопки с цифрой 2 будет тоже самое, только + 2 вместо + 1. Ты имеешь ввиду тот калькулятор, который ты выкладывал в предыдущем топике? Тогда понятно, в чем проблема. В обработчике кнопки нужно динамически определять эдит, в котором стоит курсор и добавлять циферки в него, верно? Тогда зачем тебе эти кнопочки? Тыкай в эдит и вводи числа клавиатуры. Оставь только кнопки с операциями. --------------------
Я не волшебник, я только учусь. |
|||
|
||||
Sasha1 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 12.12.2005 Репутация: нет Всего: нет |
ну так как то интереснее.. Я там делаю по сторкам потом перевожу в ИНТ .. всё считаеться..
а как сделать.Так что бы при позицианировании на первом едите была такая строчка . p_Edit1.GetWindowText(str1); а если на втором то p_Edit2.GetWindowText(str1); типа .. If(p_Edit1. Chenge ) { p_Edit1.GetWindowText(str1); } if (p_Edit2.Chenge) {p_Edit2.GetWindowText(str1); } это конечно не пашет ) но как идея? как ето в нормальный код реализовать ? |
|||
|
||||
Dray |
|
|||
![]() Материалист ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 7.10.2003 Где: г. Всеволожск Репутация: 2 Всего: 6 |
Я бы сделал так: Завел бы переменную bool типа если true - 1й эдит, false - 2й, и в обработчике щелчка по эдиту менял эту переменную. Типа щелкнули по первому эдиту m_EditNum = true; - например.
|
|||
|
||||
Sasha1 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 12.12.2005 Репутация: нет Всего: нет |
а можешь код привести . идеи как таковы , есть а как их в МВС реализовать аот в чём вопрос ? )
|
|||
|
||||
Dray |
|
||||
![]() Материалист ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 7.10.2003 Где: г. Всеволожск Репутация: 2 Всего: 6 |
Завиди переменную булевскую:
И лучше обрабатывать события не щелчка, а получения фокуса:
Прикрепил проджект Присоединённый файл ( Кол-во скачиваний: 4 ) ![]() |
||||
|
|||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 7 Всего: 92 |
Лучше не булевскую, а указатель на CEdit. И обрабатываем потерю фокуса.
|
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |