![]() |
|
![]() ![]() ![]() |
|
klbforummail |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 23.5.2012 Репутация: нет Всего: нет |
Всем привет. Тема, наверно, старая, но тем не менее для многих актуальна. Разрабатываю компонент TWindowTab (панелька с кнопками для отображения нужного окна). Нужно чтобы при создании любого немодального окна на панельке кнопка добавлялась и при уничтоженни - уничтожалась. Для этого через SetWindowLong переопределил оконную процедуру формы, на котором разположена панелька и там обробатываю сообщения. Тут возникла проблема - когда форма, на которой разположена панель, меняет стиль из fsNormal на fsMdiForm, то приходит сообщение wm_Destroy, далее уничтожается Handle окна и создаются новый Handle и ClientHandle. Поскольку Handle окна изменен, то в мою оконную процедуру формы больше сообщений (в частности wm_Create) не приходит. В какой момент времени (на какое событие или сообщение) мне взять ClientHandle формы, чтобы снова переопределить оконную процедуру формы ?
Это сообщение отредактировал(а) klbforummail - 6.5.2015, 16:09 |
|||
|
||||
Lipetsk |
|
|||
![]() в форме ;) ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 28.1.2009 Где: Липецк Репутация: 2 Всего: 5 |
А почему вы не пользуетесь событиями типа onCreate, onDestroy?
|
|||
|
||||
klbforummail |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 23.5.2012 Репутация: нет Всего: нет |
Событиями формы или компонента ? Добавлено через 5 минут и 19 секунд Мне по любому нужно обрабатывать сообщения для того чтобы определить, что формы, связанные с моими кнопками, создаются или уничтожаются... |
|||
|
||||
Lipetsk |
|
|||
![]() в форме ;) ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 28.1.2009 Где: Липецк Репутация: 2 Всего: 5 |
Когда они создаются вызывается onCreate, когда удаляются- onDestroy. Зачем усложнять?
|
|||
|
||||
klbforummail |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 23.5.2012 Репутация: нет Всего: нет |
Я хочу, чтобы положив компонент на главную форму, мне в приложении не надо было вызывать еще какие-то его методы. Что бы компонент умел сам все делать... |
|||
|
||||
klbforummail |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 23.5.2012 Репутация: нет Всего: нет |
Разобрался. Использую хуки.
|
|||
|
||||
Lipetsk |
|
|||
![]() в форме ;) ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 28.1.2009 Где: Липецк Репутация: 2 Всего: 5 |
Теперь нужна будет dll к компоненту
Не понимаю, почему нельзя было сделать стандартными средствами. Вы же окна как-то связываете с компонентом, в функции привязки и настраивали бы события |
|||
|
||||
klbforummail |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 23.5.2012 Репутация: нет Всего: нет |
никакой dll не нужно. Я использую хук на процесс. На счет событий. Измените несколько раз стиль окна из fsNormal в fsMdiForm и наоборот и поймете почему я отказался от событий. Это сообщение отредактировал(а) klbforummail - 10.5.2015, 12:32 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |