我想在我的 Win32 应用程序中居中放置一个对话框,但是在将常量传递给我的resource.rc文件时遇到了问题。我在resource.h中做了以下声明:
const int SCREENX = GetSystemMetrics(SM_CXSCREEN);
但是,当我在 .rc 文件(如下)中用SCREENX替换100并构建时,我得到:error RC2108: expected numeric dialog constant。
#include <windows.h>
#include "resource.h"
#include "afxres.h"
// I'd like to replace "100" with "GetSystemMetrics(SM_CXSCREEN)"
ID_ABOUT DIALOG DISCARDABLE 100, 0, 237, 87
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "About"
FONT 10, "MS Sans Serif"
BEGIN
GROUPBOX "Contact", IDC_CONTACT, 7, 43, 98, 39, WS_CHILD | WS_VISIBLE
LTEXT "My info", IDC_CONTACT, 16, 53, 85, 25, WS_CHILD | WS_VISIBLE
END
我也不能直接在所需位置使用GetSystemMetrics(SM_CXSCREEN) (同样的错误)。
我认为将数据类型传递给.rc是例行公事,所以我必须在这里遗漏一些基本的东西。(资源文件让我头疼不已。)谢谢!