Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.02.2008, 01:38   #1
romets
Пользователь
 
Регистрация: 21.01.2008
Сообщений: 32
По умолчанию мышька и edit

Уважаемые джентельмены, столкнулся с проблемой такой - создаю edit, но он не реагирует на мышь. Описал в его обработчике, что по клику edit получет фокус setfocus(). Ну хоть стало ввозможным данные вводить. Но остальные действия мышы тоже надо значит ручками прописывать - т.е. выделение текста, установка курсора в тексте и т.д. Или может я что то другое упустил, что-то банальное? Чувстввую, что что-то банальное.
Спасибо, джентельмены.
romets вне форума Ответить с цитированием
Старый 10.02.2008, 02:01   #2
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Фантастика. А какой Edit? Обычный?
B_N вне форума Ответить с цитированием
Старый 10.02.2008, 02:11   #3
romets
Пользователь
 
Регистрация: 21.01.2008
Сообщений: 32
По умолчанию

WS_CLIPSIBLINGS or WS_BORDER or WS_TABSTOP or ws_Child or ws_Visible or ES_LEFT or ES_AUTOHSCROLL
И при этом в обработчике не забываю вызывать через CallWindowProc предопределенный обработчик.
Посмотрю - может родительский элемент в чем-то виноват...

Да, добавлю, что созданные на том же родительском элементе - кнопки (button) и комбобоксы (combobox) работают совершенно адекватно, в т.ч. и с мышкой. Проблемы только с edit-ами.

Последний раз редактировалось rpy3uH; 10.02.2008 в 20:05.
romets вне форума Ответить с цитированием
Старый 10.02.2008, 02:45   #4
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Не совсем понял такой момент: субкласс Вы сделали до того, как мышка пропала или после?
B_N вне форума Ответить с цитированием
Старый 10.02.2008, 03:01   #5
romets
Пользователь
 
Регистрация: 21.01.2008
Сообщений: 32
По умолчанию

субкласс - не совсем (даже совсем ) понимаю данный термин.
А мышка - не пропадала, просто созданные мною эдиты совершенно не реагируют на оную.
Порядок следующий.
1. Создаю CreateWindowEx(,WS_CLIPSIBLINGS or WS_BORDER or WS_TABSTOP or ws_Child or ws_Visible or ES_LEFT or ES_AUTOHSCROLL,
2. Назначаю процедуру через SetWindowLong(, GWL_WNDPROC,
3. Показываю ShowWindow( ,SW_SHOWNORMAL
4. По некоему условию иногда SetWindowPos(,,,,,SWP_SHOWWINDOW
romets вне форума Ответить с цитированием
Старый 10.02.2008, 03:08   #6
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Покажите, если не трудно, фрагмент с CreateWindow для этого эдита, то место где Вы его SetWindowLong'аете (это, собственно, subclassing и есть) и по-крайней мере, кусочек оконной функции, трудно гадать, что там не так. И к чему относятся пункты 3. и 4. ?
B_N вне форума Ответить с цитированием
Старый 10.02.2008, 12:43   #7
romets
Пользователь
 
Регистрация: 21.01.2008
Сообщений: 32
По умолчанию

Да, конечно, не трудно. Выкладываю юнит - http://home.onego.ru/~romtsy/MaketEitor.zip и ресурс диалога http://home.onego.ru/~romtsy/maket_editor.zip, который вызывается так - CreateDialog(hInstance, 'MAKET_EDITOR_WINDOW', CHhWnd, @MAKET_EDITOR_DlgProc); В процедуре SetShapka упомянутые элементы создаются, а оконные функции в юните очевидны все начинаются с plain....
З.Ы. Прошу не относится критично к коду, к стройности и порядку, т.к. далеко не отлажено, да и многое на ходу приходится менять.
romets вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Edit Михаил Юрьевич Общие вопросы Delphi 4 31.05.2008 23:05
Edit Nikolaeva Компоненты Delphi 3 23.05.2008 09:36
Edit niva622 Помощь студентам 10 06.09.2007 17:36
Edit PAVEL315 Компоненты Delphi 10 14.03.2007 18:58