C ++ Win32 активируется MDI szTitle

0

Я пишу блокнот в MS C++ 2010 Express с Win32. Пока всякий раз, когда пользователь открывает или сохраняет документ, он обновляет строку состояния с сохраненным/открытым именем файла. Я также хочу изменить строку состояния на текущее имя файла каждый раз, когда активируется другое MDI. Как мне это сделать?

Теги:
winapi
title
mdi

2 ответа

1

Ваши дочерние окна MDI получат сообщения WM_MDIACTIVATE всякий раз, когда их состояние активации изменяется - вам просто нужно передать это уведомление обратно в окно верхнего уровня каким-либо образом (через настраиваемое сообщение, возможно, вы даже можете отправить имя файла одновременно) чтобы он обновил строку состояния.

Кстати, концепция MDI более или менее устарела, и Microsoft советует не использовать ее в новых приложениях:

Многим новым и средним пользователям трудно научиться использовать приложения MDI. Поэтому вам следует рассмотреть другие модели для вашего пользовательского интерфейса. Однако вы можете использовать MDI для приложений, которые нелегко вписываются в существующую модель

Для приложения в виде блокнота "современный" способ сделать это будет через интерфейс с вкладками.

0

Это то, что вам нужно. Отправьте WM_MDIGETACTIVE текущему клиенту, чтобы он был активным клиентом. http://msdn.microsoft.com/en-us/library/windows/desktop/ms644915%28v=vs.85%29.aspx

  • 0
    Но, конечно, вы бы пошли дальше, но для всех, кто задает тот же вопрос. Вот ответ, я думаю.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню