gpt4 book ai didi

c - 包含在资源文件 Visual Studio 中不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 06:53:36 31 4
gpt4 key购买 nike

我现在正在学习 WinAPI……3 天?我已经面临一个问题。实际上,为了创建一个 DialogBox,我们需要将其模板写入资源文件(例如 resource.rc)。

这是我的 resource.rc:

#include "IDs.h"

#include <windows.h>

DIALOG_HELP DIALOG
CW_USEDEFAULT, CW_USEDEFAULT, 200, 120
STYLE WS_OVERLAPPEDWINDOW
CAPTION "Title"
BEGIN
DEFPUSHBUTTON "Ok", IDOK, 96, 90, 42, 12
ICON icone1, -1, 60, 55, 32, 32
LTEXT "Test DialogBox", -1, 100, 58, 100, 10
END

问题是 #include 似乎没有正常工作。

我在编译时得到了 resource.rc(6): error RC2108: expected numerical dialog constant,就好像没有包含 windows.h 并且编译器不知道 CW_USEDEFAULT 是什么。当我用一个简单的 #define CW_USEDEFAULT 1 自己定义 CW_USEDEFAULT 时,它可以工作,没问题,但它会绕过这个问题。

我怎样才能让它发挥作用?谢谢

最佳答案

error RC2108: expected numerical dialog constant

这意味着您必须使用一个合理的数字(可能是 0)。 CW_USEDEFAULT(即 (int)0x80000000L)仅对 CreateWindow()/CreateWindowEx() WinAPI 函数有意义。由于资源编译器既不支持类型转换,也不允许负对话坐标,因此会导致语法错误。

此外,样式 WS_OVERLAPPEDWINDOW 不应与对话框一起使用。考虑改用基于 WS_POPUP 的样式。

关于c - 包含在资源文件 Visual Studio 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47846642/

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