好吧,严重的困境。我正在尝试包装Windows API。我现在遇到的最大设计问题是什么类适合包装什么?由于我之前大约创建过三次Windows API包装器,因此始终会在设计过程中遇到设计问题,因此,我打算谨慎行事,在实现之前先询问那些令人困惑的部分。
应该将WNDCLASS
和由CreateWindow
创建的主窗口包装在单个类中还是单独的类中?我应该创建一个单例来保存WNDCLASS
吗?
另外,如果有人可以给我流程图或一般性的想法,关于如何将Windows API抽象为类,那么有一些好的设计技巧吗?
最佳答案
为了获得良好的灵感,请查看.Net框架-没有WNDCLASS的概念!您可以让您的库创建所有窗口共享的WNDCLASS。您不需要单例(uurrgghhh),因为该类可以由字符串使用。如果要更改WNDCLASS为特定窗口定义的某些特征,我认为您可以使用SetWindowLongPtr函数。
注意事项: