【问题标题】:What's the proper place to call InitCommonControlsEx()?调用 InitCommonControlsEx() 的正确位置是什么?
【发布时间】:2020-12-21 02:23:30
【问题描述】:

我正在学习 WINAPI,所以我正在处理选项卡控件,这需要调用InitCommonControlsEx(),但是在哪里调用它?什么时候在windows回调过程中收到WM_CREATE消息?还是在主循环while(GetMessage(&msg, NULL, 0, 0)) 之前或其他地方?我已经看到我提到的所有这些方法都在使用,我不太确定哪一种是正确的。

【问题讨论】:

  • 必须在尝试使用第一个需要它的控件之前调用它。您可以调用一次,或多次调用各个控件类。怎么做以及在哪里做是你的选择,只要它遵循必须规则。
  • documentation 中的第二句:“应用程序必须在创建通用控件之前调用此函数。”

标签: c winapi windows-10 initialization controls


【解决方案1】:

调用它的最佳位置是在程序启动时调用一次,例如在 WinMain() 中,然后再开始创建 UI 窗口。

【讨论】:

  • 甚至在RegisterClass() 之前是一个好习惯吗?
  • @Jack 至少在CreateWindow/Ex 调用第一个使用该库中任何控件的窗口之前
猜你喜欢
  • 2015-01-04
  • 2017-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-23
  • 1970-01-01
  • 2012-01-20
相关资源
最近更新 更多