![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 21.01.2008
Сообщений: 32
|
![]()
Уважаемые джентельмены, столкнулся с проблемой такой - создаю edit, но он не реагирует на мышь. Описал в его обработчике, что по клику edit получет фокус setfocus(). Ну хоть стало ввозможным данные вводить. Но остальные действия мышы тоже надо значит ручками прописывать - т.е. выделение текста, установка курсора в тексте и т.д. Или может я что то другое упустил, что-то банальное? Чувстввую, что что-то банальное.
Спасибо, джентельмены. |
![]() |
![]() |
![]() |
#2 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
![]()
Фантастика. А какой Edit? Обычный?
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 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. |
![]() |
![]() |
![]() |
#4 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
![]()
Не совсем понял такой момент: субкласс Вы сделали до того, как мышка пропала или после?
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 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 |
![]() |
![]() |
![]() |
#6 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
![]()
Покажите, если не трудно, фрагмент с CreateWindow для этого эдита, то место где Вы его SetWindowLong'аете (это, собственно, subclassing и есть) и по-крайней мере, кусочек оконной функции, трудно гадать, что там не так.
![]() |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 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....
З.Ы. Прошу не относится критично к коду, к стройности и порядку, т.к. далеко не отлажено, да и многое на ходу приходится менять. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |