Проблема такая: нужно по нажатию команды меню делать одни и те же операции одновременно во всех окнах(то есть в активном и во всех неактивных). Для этого хочется получить контексты отображения этих окон. Кто нибудь в курсе как это делать? или есть другой способ?
23 декабря 2008 в 18:00
>> Ну… CMemDC это уже недокументированные внешние фичи.
Да? А мужики-то и не знают…
22 декабря 2008 в 0:00
Всё разрешилось намного проще UpdateAllViews(NULL;)
Спасибо за помощь =)
21 декабря 2008 в 22:05
Ну… CMemDC это уже недокументированные внешние фичи.
21 декабря 2008 в 20:04
А еще лучше CMemDC
21 декабря 2008 в 2:02
Ну не нравится CWindowDC, есть CClientDC.
21 декабря 2008 в 1:05
Маленькое уточнение: CWindowDC даст неклиентскую область, что должно Вас, Мафка Ангелочек Павлова весьма "порадовать" при первых опытах. Не советую туда лезть. Сами Microsoft не советуют (см. MSDN).
21 декабря 2008 в 1:02
Как мне представляется, самое разумное – научить каждое окно делать требуемое действие при получении определённого сообщения.
А потом из главного окна посылать сообщение всем дочерним. Например при помощи SendMessageToDescendants
Или руками перебирая окна при помощи GetWindow(GW_CHILD) GetNextWindow и посылая сообщение каждому.
А контекст окна можно получить в любой момент, зная указатель на окно, при помощи класса CWindowDC.
21 декабря 2008 в 1:01
Да, так и нужно делать, как Алексей сказал. Рисуем в обработчике WM_PAINT. Про то, где именно хранить информацию – гляньте паттерн model-view-controller: простая до невозможности схема, тем не менее наводящая порядок в мозгах.
20 декабря 2008 в 23:04
не силен во всем этом, но, все-таки, может хранить где-то в памяти информацию про то, какая фигура(фигуры) должна быть нарисована, чтобы все окна могли к ней обратиться, а затем в событии, кажется OnPaint каждого окна читать информацию про фигуры и рисовать?
20 декабря 2008 в 23:03
Ну, к примеру, в окнах, которые видны, но не активны на данный момент. И в свёрнутых аналогично (то есть после проведения операции результат проявляется на всех окнах. В данном случае это рисование фигуры)
20 декабря 2008 в 23:02
То есть, в том числе в окнах, которые свёрнуты и фактически не видны? Тогда какие могут быть контексты отображения, если отображения нет? А можно уточнить, что это за операции?
20 декабря 2008 в 20:02
помогите, плииииз))
20 декабря 2008 в 20:00
В том то и проблема. Нужно обязательно использовать mfc(
20 декабря 2008 в 19:05
может быть API ??