Автор
|
Тема: dc
|
Freddy |
опубликован 30-01-2002 16:23 MSK
Граждане! Просветите балбеса. Есть два объекта один от CView другой свой собственный доморощенный класс не от кого не унаследованный, в котором производятся кое-какие расчеты. Ну очень хочется отобразить полученные результаты во View. Как получить dc этого View в доморощенном объекте.
|
Flex Ferrum
|
опубликован 30-01-2002 17:07 MSK
А может лучше наоборот - как получить данные из объекта в CView? |
Freddy
|
опубликован 30-01-2002 18:29 MSK
2Flex Ferrum -> Обратная задача проста. В CView создал объект класса и вперед к вызову функций доморощенного класса. Есть несколько методов обработки у нескольких доморощенных классов(зависящих от типов входной информации) и привязывать эти методы к CView нецелесообразно. Хотелось бы по мере обработки информации отображать результаты во View. Для этого необходим Dc. |
golem
|
опубликован 30-01-2002 18:44 MSK
Esli kakie-to metody klassa nuzhdayutsya v sredstvah otobrazheniya, to libo klass dolzhen soderzhat' ssylku na kakoy-to ob'ekt otobrazheniya, libo takaya ssylka dolzhna peredavat'sya v metody. Po drugomu - nikak.Kak variant - ispol'zovat' global'nye peremennye. V ramkah MFC vsegda mozhno poluchit' ukazatel' na aktivnoe okno->aktivnyi CView. No 'eto sil'no neportabel'no. |
Stiff
|
опубликован 30-01-2002 19:24 MSK
Может неправильно я говорю на скидку тогда извини попробуй ::AfxGetMainWindow()->GetActiveView()->GetDC(); |
Flex Ferrum
|
опубликован 30-01-2002 20:02 MSK
Freddy: Мммм... Понимаешь, такая архитектура нарушает модель Document/View. А предположим, что тебе потребуется одни и теже данные отображать разными способами? В твоем варианте лучше всего под каждый "доморощенный" класс создать свой View. Это с первого взгляда несколько сложнее, но, если копнуть глубже, то легко понять, что такая архитектура гораздо гибче. И еще - никто тебе не мешает объеденить твои "доморощенные" классы одним корнем - дабы операции для получения данных (результатов вычислений) были унифицированны. Вообщем, поработай над архитекутрой системы - и оставь вариант с передачей Dc в "доморощенный" класс на крайний случай. |
Freddy
|
опубликован 31-01-2002 10:45 MSK
Всем спасибо. Я полностью согласен с Flex Ferrum по поводу создания правильной архитектуры, но вопрос был чисто принципиальный - если можно - то как? - :) |