| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > Как реаизовать Print Preview? |
| Автор: Leksey 23.8.2005, 14:39 |
| Все начиналось с MFC... Но из-за не очень гибкой архиектуры MFC(Это слабо сказано!),возникла проблема: Как отобразить Предварительный просмотр документа в основном окне MDI приложения? Как с помощью WinAPI можно создать предварительный просмотр? Есть ли стандартные средства или нужно все самому писать? |
| Автор: Denn 23.8.2005, 16:43 |
| Не думаю, что на WinAPI это будет проще... Есть вариант посмотреть исходники MFC по топику, как там реализовано. |
| Автор: Leksey 24.8.2005, 00:00 |
| Да уже посмотрел. Корявыми способами использовния friend и преобразования указателей, написал пример тестовый работает. Но попытался встроить в свое приложение и начались глюки. Все вроде бы нормально,но почему то диалоговая панель с кнопками не отображается(хотя место для нее резервируется и функция создания возвращает что-надо). Никак не могу понять почему? Кстати что будет если попытаться открыть окно предварительного просмотра в окне другого процесса? |
| Автор: Leksey 24.8.2005, 11:47 |
| А что вообще происходит когда в потоке одного процесса создается окно дочернее к окну другого процесса? Я вот так делаю и у меня кнопки в Предварительном просмотре становятся не доступными(Так MFC делает,если нет обработчика на кнопку)При у этих кнопок сандартные ID Mfc'шные . Как можно решить эту проблему? |
| Автор: JoyEx 25.8.2005, 10:54 | ||
У процессов разные адресные пр-ва... |
| Автор: Leksey 25.8.2005, 14:51 |
| Это я знаю. Я спрашиваю как это будет происходить. То есть если окна в разных потоках ,то они получают сообщения из разных очередей сообщений. Как работает связь дочернее-основное? |
| Автор: JoyEx 25.8.2005, 16:27 | ||||
Процессы и потоки это несколько разные вещи, если создаешь окно (WS_CHILD) в одном процессе, а родителя назначаешь ему из другого, то этот другой процесс (поток родителя) и будет обрабатывать сообщения от "твоего" окна, если конечно
Из своей, а в твоем случае - из очереди сообщений потока родителя (хм... такое окно уже и не твоё) |
| Автор: Leksey 25.8.2005, 17:06 |
| Так процедуру обработки сообщений я беру из своего потока. А ты уверен что сообщения будут приходить в поток родительского окна и почему? |