|
|
1
2
注册一个
窗口类
是唯一的,您可以随时使用它。当您使用
在99.9%的情况下,你会忘记
从技术上讲,你现在做的是好的。您有多个变量,但它们都包含完全相同的字符串值,因此一切都正常工作。但这是一场维护噩梦,也违反了DRY(不要重复)规则。如果您想更改窗口类的名称怎么办?你必须找到声明它的每个文件,并确保你更新了它。然后你必须永远等待整个项目重新编译,因为你接触了大量文件。无益。
相反,您希望在
全球的
范围,使其在创建windows的项目的每个文件中都可用。将其放在一个通用的头文件中,您可以将其包含在所有代码文件中,也可以单独制作一个
请确保此窗口类名声明为 常数 。在应用程序执行过程中,没有理由修改它。 如果您在C++中声明和/或使用全局常量时遇到困难,可以查看以下答案 this question 或者在Stack Overflow上进行自己的搜索。这一部分并非Windows编程独有;它只是基本的C++。 当然,你会经常听到全局变量是坏的。这是真的。您编写的代码实际上不是C++。它是C。Windows API是一个C API,因此它自然会引导您使用C++编写C代码。如果你想真正编写C++代码,你需要找到(或自己编写)基于C的Windows API的C++包装器。例如,您将编写一个表示窗口的类,该类将包含一个静态类级常量,该常量保存窗口类的名称。该类将负责创建所有新窗口,因此您不会 需要 将这些信息或实现细节分散到多个代码文件中。
至于
窗口名称
,这完全不同。Windows不会使用它来标识您的窗口。事实上,它是
|
|
0___________ · 我可以在整个程序生命周期内保持句柄打开吗 2 年前 |