![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
вот
-------------------- Обижено школьников: 8 |
|||
|
||||
| Dmitry_177 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 22.9.2006 Репутация: нет Всего: нет |
Спасибо еще раз большое!!!
|
|||
|
||||
| Dmitry_177 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 22.9.2006 Репутация: нет Всего: нет |
В главной процедуре обрабатываю сообщение WM_NCHITTEST,
И не доходит сообщение WM_LBUTTONDOWN до кнопки, сделав его обработку сабклассингом... Что делать? |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
вероятно это потому что ты не вызываешь DefWindowProc. В каких случаях вызывать, а в каких - нет, зависит от того, какого ты хочешь добиться эффекта. Например если ты не хочешь, чтобы окно перетаскивалось за кнопку, то Result := HTCAPTION делай только если курсор не на кнопке, а в противном случае result:=DefWindowProc(...
не очень понятно, как должно по твоему себя вести окно... -------------------- Обижено школьников: 8 |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
если начинаешь строить из себя заголовок окна, то смотри WM_NCLBUTTONDOWN и WM_ENTERSIZEMOVE
-------------------- Обижено школьников: 8 |
|||
|
||||
| Dmitry_177 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 22.9.2006 Репутация: нет Всего: нет |
Дело в том что сообщение WM_LBUTTONDOWN вообще не доходит до кнопки, т.е. она не нажимается...
|
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
что такое Window и hWindow? если Result := HTCAPTION может произойти и при нажатии на кнопку, то этого и следует ожидать - вместь нажатия окно начнет перетаскиваться. А если по остальному коду выходит, что кнопка исключена в этой ситуации, то нужно предусмотреть для нее вызов DefWindowProc -------------------- Обижено школьников: 8 |
|||
|
||||
| Dmitry_177 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 22.9.2006 Репутация: нет Всего: нет |
Window: HWND это первый парамент WindowProc, а hWindow это хендл главного окна
|
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
не воспроизводится. Может проблема в чем-то другом? дай больше кода
-------------------- Обижено школьников: 8 |
|||
|
||||
| Dmitry_177 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 22.9.2006 Репутация: нет Всего: нет |
Я разобрался что было не так.. Я сабклассинг делал чуть-чуть неправильно...
|
|||
|
||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |