![]() |
|
|
![]()
|
|
| Dart |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 26.6.2006 Где: Саратов, РФ Репутация: 2 Всего: 2 |
Gremlin, только создавать всой контрол.
В принципе, есть еще одна достаточно простая возможность: на CEdit создать Child'а тоже CEdit, но без WS_BORDER. У родительского убрать WS_TABSTOP и WS_DISABLED и позиционировать его туда, куда тебе нужно в OnMove и OnSize. Другой вариант - писать с нуля и плясать от CWnd. --------------------
ЦитатаЛюблю смотреть, как другие работают Дж. К. ДжеромСайт: www.ecosigma.ruПочта: [email protected] |
|||
|
||||
| Bishop |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 188 Регистрация: 3.6.2005 Где: Минск, Беларусь Репутация: 2 Всего: 16 |
Gremlin,
Вот в таком вот примерно акцепте. Через EM_SETRECT выставляется прямоугольник, в который будет выведен текст. Применимо только для Multiline полей. Это сообщение отредактировал(а) Bishop - 9.9.2006, 09:01 |
|||
|
||||
| Gremlin |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.8.2006 Репутация: нет Всего: нет |
Вот ешо вопрос про Едит. Хочу чтобы в поле можно было вводить только цыфры и символы "-" и ".". Я в принципе сделал в обработчике по изменению производить эту проверку но мне кажется это не правильно ибо символ сначала заносится в едит а потом если не удовлетворяет условию удаляется. Есть ли у кого пример как это сделать с помощью я так понимаю WM_KEYDOWN?
|
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Сделай свой обработчик WM_CHAR и проверяй в нем. Если символ устраивает, вызывай стандартный обработчик, нет - ничего не делай или пищи.
-------------------- ... |
|||
|
||||
| Gremlin |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.8.2006 Репутация: нет Всего: нет |
а как пикнуть?
|
|||
|
||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 4 Всего: 56 |
|
|||
|
||||
| Gremlin |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.8.2006 Репутация: нет Всего: нет |
гыгы это шутка была
а по теме: Создал OnChar ставлю внутри точку остановки жму символ и нефига не заходит а выполняется сразу обработчит на изменение Едита! |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Видимо, что-то делаешь неправильно.
Проверь, что 1) OnChar переопределено у наследника CEdit (а не у диалога!) 2) обработчик подключен в карту сообщений 3) контрол правильно субклассирован (т.е. есть DDX_Control с переменной нужного класса) -------------------- ... |
|||
|
||||
| Gremlin |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.8.2006 Репутация: нет Всего: нет |
У меня 4 класса С...App, C...Dlg и два класса PropertySheet, вот на одной из вкладок и находится Edit Box так где мне нужно переопреелять onChar?
|
|||
|
||||
| Bishop |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 188 Регистрация: 3.6.2005 Где: Минск, Беларусь Репутация: 2 Всего: 16 |
Gremlin,
Можно и так (если Edit Box такой один и/или не хочешь заниматься наследованием/субклассированием):
только для твоего PropertySheet. |
|||
|
||||
| Gremlin |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.8.2006 Репутация: нет Всего: нет |
а почему нельзя для нескольких? у меня их 4 таких поля на одном щите, и где я должен эту функцию вызывать? в обработчике по изменению?
|
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Если нужно для нескольких, то небольшое изменение в вышеприведенном коде от Bishop:
pMsg->hwnd == pEdit->m_hWnd заменяешь на проверку всех 4 полей. Можно функцию написать, чтобы красивее было. Вариант со своим классом и обработчиком OnChar - сделай все эдиты этим классом. -------------------- ... |
|||
|
||||
| Gremlin |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.8.2006 Репутация: нет Всего: нет |
а если проверять в котором чичас эдите курсор и проверять тока по этому эдиту?
|
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Это и есть pMsg->hWnd. Тебе надо проверить, что это hWnd совпадает с одним из твоих. -------------------- ... |
|||
|
||||
| Gremlin |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.8.2006 Репутация: нет Всего: нет |
немножко переделал но мне кажется не очень красиво вышло слишком много кода
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |