Как получить дескриптор диалога в режиме редактирования?
От:
Аноним
Дата:
13.07.04 06:20
Оценка:
Пишу Active-X, и мне нужно получить дескриптор окна диалога, в котором находится этот Active-X на этапе редактирования диалога в MS Visual Studio 6.00. Как это сделать?
Нужно именно на этапе редактирования диалога, а не на этапе выполнения программы.
Re: Как получить дескриптор диалога в режиме редактирования?
Здравствуйте, Аноним, Вы писали:
А>Пишу Active-X, и мне нужно получить дескриптор окна диалога, в котором находится этот Active-X на этапе редактирования диалога в MS Visual Studio 6.00. Как это сделать? А>Нужно именно на этапе редактирования диалога, а не на этапе выполнения программы.
Запросить у контейнера IOleWindow?
Народная мудрось
всем все никому ничего(с).
Re[2]: Как получить дескриптор диалога в режиме редактирован
От:
Аноним
Дата:
13.07.04 12:32
Оценка:
Здравствуйте, Tom, Вы писали:
Tom>Запросить у контейнера IOleWindow?
Хорошо, а тогда вопрос: когда это делать. Поясню.
После того, как Active-X вставлен на редактируемую в редакторе ресурсов страницу диалога, ему (Active-X-у) шлются какие-то сообщения. Какие?
После того, как я, например, мышкой изменю размер окна моего Active-X, я хочу, чтоб он получил дескриптор окна диалога. Как это сделать? Если я вставляю обработчик сообщения WM_SIZE, то оно просто к Active-X-у не доходит.
Re[3]: Как получить дескриптор диалога в режиме редактирован
А>Хорошо, а тогда вопрос: когда это делать. Поясню. А>После того, как Active-X вставлен на редактируемую в редакторе ресурсов страницу диалога, ему (Active-X-у) шлются какие-то сообщения. Какие? А>После того, как я, например, мышкой изменю размер окна моего Active-X, я хочу, чтоб он получил дескриптор окна диалога. Как это сделать? Если я вставляю обработчик сообщения WM_SIZE, то оно просто к Active-X-у не доходит.
вероятно см IOleObject::SetSite и SetExtent (сам не проверял)
Народная мудрось
всем все никому ничего(с).
Re[2]: Этот способ не работает
От:
Аноним
Дата:
14.07.04 07:45
Оценка:
Здравствуйте, Tom, Вы писали:
Tom>Запросить у контейнера IOleWindow?
Здравствуйте, Аноним, Вы писали:
А>Как получить контейнер или еще лучше дескриптор окна, в котором находится Active-X? А>Нужно именно на этапе редактирования диалога в Visual C++.
GetParent(), если есть окно твоего контрола.
Имею скафандр — готов путешествовать!
Re[4]: Этот способ не работает
От:
Аноним
Дата:
14.07.04 07:51
Оценка:
Здравствуйте, rus blood, Вы писали:
RB>GetParent(), если есть окно твоего контрола.
GetParent() даже вызывать нельзя, т.к. m_hWnd равно NULL!!!
В том то и дело, что НА ЭТАПЕ РЕДАКТИРОВАНИЯ диалога m_hWnd==NULL!!! На этапе выпонения проблем никаких нет — все работает.