c++ - cstatic 的消息

标签 c++ windows mfc

1.我已经从 CStatic 中派生了一个名为 CLed_arr 的类。 2.一个名为IDC_leds的cstatic控件被添加到资源编辑器的对话窗口中。 3.为此 IDC_leds 创建了一个名为 m_led_arr 的 CLed_arr 类成员变量。 4. 类 CLed_arr 包含类 CLed 对象的数组 Led[16]。 5.CLed 类本身是从CStatic 派生的。 6.我不想把这 16 个 led 窗口放在资源编辑器中,但想在运行时创建它们。为了创建这 16 个窗口,需要母窗口的坐标,即 IDC_leds。我尝试了创建过程在 CLed_arr 构造函数中。但可能此时类的窗口不可用,所以我得到异常。所以我想使用一些消息处理程序来创建此类的窗口消息,即 CLed_arr。但唯一可用的消息对于这个类是 BN_CLICKED。

7.请帮助我理解为什么只有 BN_CLICKED 消息可用于此窗口,还有什么方法可以为此窗口添加其他消息(如果有的话)。 8.如果我在 OnitDialog() 中创建它们,我能够创建这 16 个窗口,但我想将此 CLed_arr 开发为一个类,其基本过程在类中。

请。帮助。

谢谢

最佳答案

在 MFC 中,CWnd 是大多数 UI 类的基类,当然也包括 CStatic。 所以尝试处理来自 CWnd 的 WM_CREATE 消息。它会在窗口创建后出现,但就在它可见之前。有关详细信息,请参阅 here

关于c++ - cstatic 的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3164542/

相关文章:

python - 使用python创建共享windows文件夹的权限

c++ - 如何处理 ATLMFC 包含文件中的指针截断?

c++ - 如何在 C++ MFC 中同时打开两个对话框?

c++ - 在不使用系统函数的情况下使用 C/C++ 获取正在运行的 PID 的完整路径 (Linux)

c# - 在 .NET 中使用 NTFS 压缩来压缩文件夹

windows - 使用 PowerShell 确定用户是否在 Active Directory 中

c++ - CWnd::GetParent 导致异常

c++ - 无法将 id 分配给 OpenGL 中的属性

c++ - gdb SIGABRT 而不是 SIGSEGV

c++ - 在 C++ 中,如何通过给定对象的成员来查找对象 vector 中的某些项?