gpt4 book ai didi

c++ - WNDCLASS 和窗口句柄在单独的还是同一个类中?

转载 作者:可可西里 更新时间:2023-11-01 11:36:42 27 4
gpt4 key购买 nike

好吧,严重的困境。我正在尝试包装 Windows API。我遇到的最大的设计问题(目前)是什么类适合包装什么?由于我之前已经创建了大约 3 次 Windows API 包装器,总是在中间遇到设计问题,这一次,我打算谨慎行事,在实现之前询问这里令人困惑的部分。

WNDCLASSCreateWindow 创建的主窗口应该包装在一个单个类中还是单独的类中?我应该创建一个单例来保存 WNDCLASS 吗?

另外,如果有人能给我流程图或总体思路,关于如何将 Windows API 抽象为类,一些好的设计技巧?

最佳答案

要获得良好的灵感来源,请查看 .Net 框架 - 没有 WNDCLASS 的概念!您可以让您的库创建一个由所有窗口共享的 WNDCLASS。您不需要单例 (uurrgghhh),因为该类可以由字符串使用。如果您想更改 WNDCLASS 为特定窗口定义的某些特性,我认为您可以使用 SetWindowLongPtr 函数。

需要考虑的事项:

  1. 是否需要多个 WNDCLASS 实例?
  2. 您希望客户端访问 WNDCLASS 数据吗?
  3. windows 和 WNDCLASS 之间是一对一的关系还是一对多的关系?

关于c++ - WNDCLASS 和窗口句柄在单独的还是同一个类中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9616955/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com