![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: 1 Всего: 1 |
Все начиналось с MFC...
Но из-за не очень гибкой архиектуры MFC(Это слабо сказано!),возникла проблема: Как отобразить Предварительный просмотр документа в основном окне MDI приложения? Как с помощью WinAPI можно создать предварительный просмотр? Есть ли стандартные средства или нужно все самому писать? |
|||
|
||||
| Denn |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 6.8.2005 Репутация: нет Всего: 2 |
Не думаю, что на WinAPI это будет проще... Есть вариант посмотреть исходники MFC по топику, как там реализовано.
|
|||
|
||||
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: 1 Всего: 1 |
Да уже посмотрел.
Корявыми способами использовния friend и преобразования указателей, написал пример тестовый работает. Но попытался встроить в свое приложение и начались глюки. Все вроде бы нормально,но почему то диалоговая панель с кнопками не отображается(хотя место для нее резервируется и функция создания возвращает что-надо). Никак не могу понять почему? Кстати что будет если попытаться открыть окно предварительного просмотра в окне другого процесса? |
|||
|
||||
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: 1 Всего: 1 |
А что вообще происходит когда в потоке одного процесса создается окно дочернее к окну другого процесса?
Я вот так делаю и у меня кнопки в Предварительном просмотре становятся не доступными(Так MFC делает,если нет обработчика на кнопку)При у этих кнопок сандартные ID Mfc'шные . Как можно решить эту проблему? |
|||
|
||||
| JoyEx |
|
|||
|
Дядя ![]() ![]() Профиль Группа: Участник Сообщений: 323 Регистрация: 21.6.2005 Где: Москва, РФ Репутация: 4 Всего: 12 |
У процессов разные адресные пр-ва... -------------------- Если ты уже никого не боишься, значит ты самый страшный |
|||
|
||||
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: 1 Всего: 1 |
Это я знаю.
Я спрашиваю как это будет происходить. То есть если окна в разных потоках ,то они получают сообщения из разных очередей сообщений. Как работает связь дочернее-основное? |
|||
|
||||
| JoyEx |
|
||||
|
Дядя ![]() ![]() Профиль Группа: Участник Сообщений: 323 Регистрация: 21.6.2005 Где: Москва, РФ Репутация: 4 Всего: 12 |
Процессы и потоки это несколько разные вещи, если создаешь окно (WS_CHILD) в одном процессе, а родителя назначаешь ему из другого, то этот другой процесс (поток родителя) и будет обрабатывать сообщения от "твоего" окна, если конечно
Из своей, а в твоем случае - из очереди сообщений потока родителя (хм... такое окно уже и не твоё) -------------------- Если ты уже никого не боишься, значит ты самый страшный |
||||
|
|||||
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: 1 Всего: 1 |
Так процедуру обработки сообщений я беру из своего потока.
А ты уверен что сообщения будут приходить в поток родительского окна и почему? |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |