| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > открыть и вывести по свойму |
| Автор: Royan 6.12.2002, 21:47 | ||||
| Если я грубо создам через ClassWizard MDI приложение, то при нажатии на кнопку открыть, открывается окно и в нем выводиться текст из обработчика OnDraw(), который собственно мне и нужен. Но как только я переопределил открытие докумнета (просто связал ID_FILE_OPEN со своим OnOpen) и там сзодал окно, то ничего через OnDraw уже не вывести. Больше того в выпадающем меню Window есть пункт New Window, через который появляется окно, которое выводит текст из OnDraw Для внесения ясности вот куски моего кода:
Вот именно окно создающееся здесь не восприимчиво к OnDraw
Все обновления типа Invalidate или UpdateAllViews я уже сто раз перепробовал, тут дело не в них. И Еще не ясно почему первое окно появляется без всякого вызова. То есть его вызов как будто запрятан внутри MFC? |
| Автор: Step 7.12.2002, 07:14 |
| Обрати внимание что ты на самом деле создаеш не окно а рамку, а ОнДрав реализована для объекта класса производного от ВИД, а не от Фрейм Успехов. |
| Автор: Royan 7.12.2002, 08:54 |
| Это ты точно подметил я все понял, эх что-то даже обидно, что сам недопёр. Хоть я сейчас поступил несколько иначе, подскажи мне пожалуйста: 1) Как мне заставить не открываться child окно, которое автоматом появляется вместе с родительским при запуске приложения. Это, например, если сзодать MDI через визарда(ну чтобы понятно было о чем я говорю) 2) Можно ли из класса CMyDoc достать объект окна к которому он относиться? Это мне пока не зачем, но просто интересно. |
| Автор: Step 7.12.2002, 19:59 | ||
Вопрос конечно интересный, попробую подсказать по 2 пункту. в клас ДОК вставь укзательн на вид, не инициализирую его. После при создании вида вызови функциию ГетДокумент результат преобразуй в тип твоего класа Документу и через полученный указатель на документ доберись до созданого указателя на вид и присвой ему this. после этого через указатель на вид ты будеш иметь доступ к виду из документа. Успехов. |
| Автор: Royan 7.12.2002, 22:50 |
| Ну по поводу второго вопроса план действий понятен, а вот по поводу первого, в моем случае как бы даже необходим. Скажем так, возможно, это окно убрать без обработки события OnFileNew? |