C++ win32 Api 资源文件

C++ win32 Api resource file

我正在学习 win32 api。我知道如何动态添加按钮。现在我正在尝试使用资源文件 (rse.rc) 添加按钮。下面是我的 res.rc 文件定义:

IDB_B1 PUSHBUTTON "TOGGLE",7 , 20, 180, 200, 30

并且我已经生成了一个 resource.h 文件以包含在源代码中。现在我面临的问题是如何将此按钮添加到我的主 window 中?我尝试使用 .rc 文件添加光标和图标,这很简单,但我无法理解这个按钮。

我猜它必须在:

WM_CREATE:

但是如何从 .rc 文件中调用它呢?

这样不行。

Win32 中的资源用于创建许多东西:菜单、加速器和对话框等;但不是单个控件。

你想做什么,一个带按钮的主window可以使用两种技术实现:

  1. 让您的主要 window 成为一个对话。您为完整对话框编写资源,包括按钮和所有内容,然后从 WinMain() 调用 CreateDialog()DialogBox() 或类似的。
  2. 您的主要 window 是一个普通的 window,您手动创建子控件。这些控件是直接调用 CreateWindowEx() 创建的,使用 class 名称 WC_BUTTON,作为对 WM_CREATE 的响应,如您所猜。

此外,您可以将对话框作为主对话框的子项 window,但我不建议这样做,特别是如果您仍在学习中。