SDI приложение, там добавил класс от CFormView, на экране оба(мой View и созданный Wizzardom) через сплиттер, так вот когда я вызываю Invalidate из функции в моем классе, то вроде как он не работает.
Как я понимаю мне надо указать что мой класс тоже относится к документу, если я прав то как это сделать?
Спасибо.
Re: вызов Invalidate из руками добавленного CFormView
Здравствуйте, Slamin, Вы писали:
M>>так вот когда я вызываю Invalidate из функции в моем классе, то вроде как он не работает.
S>Чей Invalidate вызывается? Что значит вроде как не работает?
Ok, я вызываю Invalidate() в своем классе и вывода нескольких переменных не происходит, функция ONDRAW не вызывается, может и вызывается но ничего не делает. S>Чей Invalidate вызывается? Пишу просто строчку Invalidate(); значит вызывается CView:Invalidate(). (я могу ошибаться).
Когда я использую pDoc->UpdateAllViews, то все ок, но вооще-то мне надо сохранять предыдущий вывод поэтому использую Invalidate(); но не работает как TRUE так и FALSE.
Re[3]: вызов Invalidate из руками добавленного CFormView
Здравствуйте, Malchik, Вы писали:
M>Ok, я вызываю Invalidate() в своем классе и вывода нескольких переменных не происходит,
Это как понимать? Часть переменных обновляются, а часть нет? Непонятно почему Invalidate, если на форме контролы и контролы привязаны к переменным, то нужно вызывать
UpdateData(FALSE)
и убедиться что в DoDataExchange все переменные нормально связаны.
Кроме того Invalidate просто помечает облать как требующую перерисовки, после этого нужно вызывать UpdateWindow.
There are 10 types of people in the world, those who don't understand binaries, those who do, and those who understand not only binaries.
Re[4]: вызов Invalidate из руками добавленного CFormView
S>Это как понимать? Часть переменных обновляются, а часть нет? Непонятно почему Invalidate, если на форме контролы и контролы привязаны к переменным, то нужно вызывать S>
S>UpdateData(FALSE)
S>
Я так и делаю в CFormView у меня все работает, но парралельно(справа) у меня через сплиттер еще один класс View от CScrollView, в него я и вывожу данные их около 12 переменных(примерно один обзац), потом юзер может запустить еще раз функцию в CScrollView и тогда справа дожен быть выведен новый обзац и при етом сохранен старый,
поетому я вызываю функцию Invalidate(FALSE), но никого вывода в CScrollView не происходит(оговорюсь еще раз что в случае pDoc->UpdateAllViews все работает после каждого запуска функции в CFormView печатает новый обзац(ниже предудущего) но место старого конечно же остается пустым)
Re[5]: вызов Invalidate из руками добавленного CFormView
Здравствуйте, Malchik, Вы писали:
M>Я так и делаю в CFormView у меня все работает, но парралельно(справа) у меня через сплиттер еще один класс View от CScrollView, в него я и вывожу данные их около 12 переменных(примерно один обзац), потом юзер может запустить еще раз функцию в CScrollView и тогда справа дожен быть выведен новый обзац и при етом сохранен старый, M>поетому я вызываю функцию Invalidate(FALSE), но никого вывода в CScrollView не происходит(оговорюсь еще раз что в случае pDoc->UpdateAllViews все работает после каждого запуска функции в CFormView печатает новый обзац(ниже предудущего) но место старого конечно же остается пустым)
Не могли бы вы привести код OnDraw вашего класса производного от CScrollView? Если вы вызываете UpdateAllViews и "все работает правильно", перерисовывается ли ваш View если вы закрываете его другим окошком?
There are 10 types of people in the world, those who don't understand binaries, those who do, and those who understand not only binaries.