![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
eg13 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 4.8.2013 Репутация: нет Всего: нет |
Видел много тем про редактируемый ListView на форуме, но решения своей проблемы не нашел.
А проблема вот в чем. При клике по определенной ячейке в ListView создаю edit control. Все бы хорошо, но когда я устанавливаю для edit'a свою оконную процедуру, то он перестает отображаться. Точнее сказать, отображается под таблицей. А как отобразить его сверху ума не приложу. Если не устанавливать свою функцию обработки для edit'a, то он рисуется сверху ListView. Но если процедуру не устанавливать, не знаю как WM_KILLFOCUS ловить. Такие дела. Вот кусочек кода:
Буду очень благодарен за любую помощь! Это сообщение отредактировал(а) GremlinProg - 5.8.2013, 07:31 |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 9 Всего: 45 |
Тааак. А куда Вы дели старую оконную функцию, которую возвращает SetWindowLong? Её же потом вызывать нужно из новой ![]() И пользуйтесь, пожалуйста, SetWindowLongPtr, а то мало ли чего... -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
eg13 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 4.8.2013 Репутация: нет Всего: нет |
А с этого места можно поподробнее?) ![]() Вот моя оконная процедура, которую я устанавливаю для эдита:
|
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 9 Всего: 45 |
Это не правильно. DefWindowProc - это совсем дефолтная процедура для голых окон. А у развитых окон, к коим однозначно можно отнести edit control, свои оконные процедуры, отличающиеся от DefWindowProc. Поэтому вместо DefWindowProc в своей оконной процедуре Вы должны вызывать именно оконную процедуру edit control (через CallWindowProc), которая будет возвращена функцией SetWindowLong (и всё-таки нужна SetWindowLongPtr). Классический сабклассинг. Пример. И тот же вопрос с теми же ответами. Это сообщение отредактировал(а) feodorv - 6.8.2013, 03:00 -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
eg13 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 4.8.2013 Репутация: нет Всего: нет |
feodorv, у меня нет слов чтобы выразить свою благодарность! Все заработало как нужно!
![]() Это сообщение отредактировал(а) eg13 - 6.8.2013, 11:28 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |