TN070:MFC 窗口类名称

注释

自联机文档中首次包含此说明以来,尚未更新以下技术说明。 因此,某些过程和主题可能过期或不正确。 有关最新信息,建议在在线文档索引中搜索您感兴趣的主题。

MFC 窗口使用动态创建的类名称来反映窗口的功能。 MFC 为应用程序生成的框架窗口、视图和弹出窗口动态生成类名。 MFC 应用程序生成的对话框和控件具有有问题的窗口类的 Windows 提供的名称。

可以通过注册自己的窗口类并在 PreCreateWindow 重写中使用它来替换动态提供的类名。 其 MFC 提供的类名适合以下两种形式之一:

Afx:%x:%x
Afx:%x:%x:%x:%x:%x

替换字符的 %x 十六进制数字将从 WNDCLASS 结构中的数据填充。 MFC 使用此技术,使需要相同 WNDCLASS 结构的多个C++类可以共享相同的已注册窗口类。 与大多数简单的 Win32 应用程序不同,MFC 应用程序只有一个 WNDPROC,因此可以轻松共享 WNDCLASS 结构,以节省时间和内存。 上面所示字符的 %x 可替换值如下所示:

  • WNDCLASS.hInstance

  • WNDCLASS.style

  • WNDCLASS.hCursor

  • WNDCLASS.hbrBackground

  • WNDCLASS.hIcon

hCursorhbrBackgroundhIcon 均为 NULL 时,将使用第一种形式 (Afx:%x:%x)。

另请参阅

按编号列出的技术说明
按类别列出的技术说明
TN020:ID 命名和编号约定