0

我正在使用 Win32 在 MS C++ 2010 Express 中编写记事本程序。到目前为止,每当用户打开或保存文档时,它都会使用保存/打开的文件名更新状态栏。我还想在每次激活不同的 MDI 时将状态栏更改为当前文件名。我该怎么做?

4

2 回答 2

1

您的 MDI 子窗口将WM_MDIACTIVATE在其激活状态更改时收到消息 - 然后您只需将该通知以某种方式传递回您的顶级窗口(可能通过自定义消息 - 您甚至可以同时发送文件名)到让它更新状态栏。

顺便说一句,MDI 概念或多或少已被弃用,Microsoft 建议不要在新应用程序中使用它:

许多新用户和中级用户发现学习使用 MDI 应用程序很困难。因此,您应该为您的用户界面考虑其他模型。但是,您可以将 MDI 用于无法轻松融入现有模型的应用程序

对于记事本类型的应用程序,执行此操作的“现代”方式是通过选项卡式界面。

于 2013-10-08T23:16:51.130 回答
0

This is what you need. Send WM_MDIGETACTIVE to the current client to ge the active client. http://msdn.microsoft.com/en-us/library/windows/desktop/ms644915%28v=vs.85%29.aspx

于 2015-01-16T01:52:05.043 回答