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可以使用两种技术实现:
- 让您的主要 window 成为一个对话。您为完整对话框编写资源,包括按钮和所有内容,然后从
WinMain()
调用 CreateDialog()
。 DialogBox()
或类似的。
- 您的主要 window 是一个普通的 window,您手动创建子控件。这些控件是直接调用
CreateWindowEx()
创建的,使用 class 名称 WC_BUTTON
,作为对 WM_CREATE
的响应,如您所猜。
此外,您可以将对话框作为主对话框的子项 window,但我不建议这样做,特别是如果您仍在学习中。
我正在学习 win32 api。我知道如何动态添加按钮。现在我正在尝试使用资源文件 (rse.rc) 添加按钮。下面是我的 res.rc 文件定义:
IDB_B1 PUSHBUTTON "TOGGLE",7 , 20, 180, 200, 30
并且我已经生成了一个 resource.h 文件以包含在源代码中。现在我面临的问题是如何将此按钮添加到我的主 window 中?我尝试使用 .rc 文件添加光标和图标,这很简单,但我无法理解这个按钮。
我猜它必须在:
WM_CREATE:
但是如何从 .rc 文件中调用它呢?
这样不行。
Win32 中的资源用于创建许多东西:菜单、加速器和对话框等;但不是单个控件。
你想做什么,一个带按钮的主window可以使用两种技术实现:
- 让您的主要 window 成为一个对话。您为完整对话框编写资源,包括按钮和所有内容,然后从
WinMain()
调用CreateDialog()
。DialogBox()
或类似的。 - 您的主要 window 是一个普通的 window,您手动创建子控件。这些控件是直接调用
CreateWindowEx()
创建的,使用 class 名称WC_BUTTON
,作为对WM_CREATE
的响应,如您所猜。
此外,您可以将对话框作为主对话框的子项 window,但我不建议这样做,特别是如果您仍在学习中。