【问题标题】:Is there a difference between a "child control", a "child window" and a "child window control"?“子控件”、“子窗口”和“子窗口控件”之间有区别吗?
【发布时间】:2009-12-03 23:08:37
【问题描述】:

或者这些术语是用来指代同一事物的?

我正在尝试在我的 Win32 应用程序中实现一些显示位图图像的自定义按钮。一个教程表明我应该使用CreateWindow() 创建子窗口。

但是,我从另一个关于创建“子控件”的教程中下载了一堆源代码,并没有提及CreateWindow()(除了创建主/父窗口的那个)。

任何人都可以帮助了解按钮的分类吗?控件还是窗口?

【问题讨论】:

标签: c++ c windows winapi


【解决方案1】:

每个控件都是一个窗口,但不是每个窗口都是一个控件。控件具有父级,通常是适合该上下文的窗口类之一,例如 Button。

【讨论】:

  • 显然有无窗口控件。所以这并不完全正确。
  • 啊。作为编辑,我有一个解释,但我的互联网连接丢失了。我必须先让孩子们上床睡觉才能重新打字。
【解决方案2】:

在 Win32 世界中,几乎屏幕上的所有内容都有一个与之关联的底层 HWND。创建这些的方法之一是通过CreateWindow。其他方法包括加载资源和让操作系统通过不同的机制构建预先指定的 HWND,我相信还有更多。

但是,是的,要回答您最初的问题,它们都指的是同一件事:HWND 是其他 HWND 的子级。

【讨论】:

    【解决方案3】:

    根据 Charles Petzold 的圣经,他非常清楚地表明,从子控件到窗口本身,每件事都是一个窗口。他断言这是因为使用句柄调用 CreateWindow,该句柄是指向窗口结构的指针。这是前 Win 3 天的保留。

    希望这会有所帮助, 此致, 汤姆。

    【讨论】:

      猜你喜欢
      • 2015-06-13
      • 2010-09-21
      • 1970-01-01
      • 2011-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多