创build一个单独的窗口,每按一下button

我正在使用Windows GUI应用程序。在我的窗口上有20个button。 对每个button点击,我想打开一个新窗口显示一些信息。 它可以是任何可以显示一些信息的东西,但是由于我对这一切都是陌生的,我不想尝试任何复杂的东西,所以我决定按照每个button单击创build一个popup窗口的想法。

现在我面临的问题是,因为有20个不同的窗口,我是否需要创build20个不同的窗口callback函数? 虽然在popup窗口中只有一个控件,即一个Close符号,但即使这样,我也需要有一个CALLBACK函数。

我一直在尝试,但现在这个想法看起来毫无意义。 有没有其他的select,我可以实现所需的function?

等待帮助。

如果所有窗口的行为都是相同的,那么可以创建一个由所有弹出窗口共享的窗口过程 (称为CALLBACK函数)。

窗口过程不必是单个窗口唯一的,但是如果多个窗口共享相同的窗口过程,它们将对所收到的所有消息做出相同的反应。

例如:

 // Message procedure for all pop-up windows. LRESULT CALLBACK MyPopupWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { // handle any messages you want here in order to // customize the behavior of your pop-up window } return DefWindowProc(hwnd, msg, wParam, lParam); } 

当您为弹出窗口注册窗口类(使用RegisterClassEx函数)时,指定一个指向MyPopupWndProc函数的指针,然后在调用CreateWindowEx创建/显示弹出窗口时传递已注册窗口类的名称窗口,当你的主窗口上的按钮被点击。

当然,如果你只是为了测试目的而想要一些简单的东西,记住你总是可以调用MessageBox函数! 没有窗口程序或类注册需要。