Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
>
WinAPI & Visual C++
(Модератор:
Вад
) > Тема:
Создание дочернего окна
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Создание дочернего окна (Прочитано 11483 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ciril
Гость
Создание дочернего окна
«
:
14-02-2007 06:06 »
Используя MFC, необходимо в текстовом поле перехватывать сообщение WM_CHAR. Как создать это самое текстовое поле, помогите, пожалуйста.
Записан
Джон
просто
Администратор
Offline
Пол:
Re: Создание дочернего окна
«
Ответ #1 :
14-02-2007 11:04 »
Какая студия?
Вот такое не осилишь?
Добавляешь в проект class CMyEdit : public CEdit
Создать диалог, в редакторе ресурсов добавить в него элемент управления Edit ID IDC_MY_EDIT
В диалоге создаёшь объект потомок CMyEdit m_edMyEdit;
в ф-ю DoDataExchange добавляешь строчку
DDX_Control(pDX, ID IDC_MY_EDIT, m_edMyEdit);
всё
Записан
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
ciril
Гость
Re: Создание дочернего окна
«
Ответ #2 :
15-02-2007 08:57 »
MS VisualStudio.NET Задача такая: запуск окна с полем ввода и кнопками OK&CANCEL, при вводе в текстовом поле работает тезаурус: перехватывается WM_CHAR и обрабатывается скан-код(!) клавиши. Все написано на assemblere и работает. Интегрирую с AutoCAD'ом, где MFC, оставляю процедуру тузауруса на assembler, но создать окно MFC, работающее также не мог, DDX_ IDC_ не возвращает скан-код, сейчас написано след:
void word_dia::OnCreateExtendedCtrl()
{
edWnd = new editWord;
CWnd* pWnd; HWND hWnd; hWnd = this->GetSafeHwnd(); pWnd = FromHandle(hWnd);
RECT rect; this->GetClientRect(&rect); rect.bottom-=30;rect.left-=5;rect.right-=5;rect.top-=5;
edWnd->CreateEx(WS_EX_CLIENTEDGE, _T("EDIT"), NULL, WS_CHILD | WS_VISIBLE,rect, Wnd, NULL);
}
Перехватываю WM_CHAR и WM_PAINT и работает.
«
Последнее редактирование: 15-12-2007 16:15 от Алексей1153++
»
Записан
Джон
просто
Администратор
Offline
Пол:
Re: Создание дочернего окна
«
Ответ #3 :
15-02-2007 10:52 »
Если честно, то я нифига не понял. Особенно "тезаурус".
Ты хочешь доступ получить к чужому едиту? Ты ведь спросил как поле создать. Я тебе рассказал. След. этапом было бы добавление ф-ции обработки OnChar в CMyEdit. А теперь я вобще ничего не понимаю. Причём здесь ассемблер?
DDX_ просто создаёт объект связанный с ресурсом IDC_MY_EDIT. ПРактически то, что ты написал в Create
Короче вот, как говорил один персонаж: "Я не мастер произносить речи. Мне проще спеть."
Test1.zip
(39.76 Кб - загружено 902 раз.)
Записан
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
>
WinAPI & Visual C++
(Модератор:
Вад
) > Тема:
Создание дочернего окна
Загружается...