gpt4 book ai didi

c++ - 使用 Gradient Fill() 函数时无法编译代码

转载 作者:太空宇宙 更新时间:2023-11-04 16:26:43 25 4
gpt4 key购买 nike

当我使用函数 GradientFill() 时出现编译错误;在我的原生 WinAPI C++ 应用程序中

我做错了什么?我怎样才能让我的代码编译?我正在使用 Microsoft Visual C++ 2010 Express

在我的项目中,我链接了正确的库 msimg32.lib 文件。请参阅下面的所有链接文件(项目属性->链接器->输入->附加依赖项):

comctl32.lib;kernel32.lib;gdi32.lib;winspool.lib;msimg32.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)

编译错误:

1>c:\users\app.cpp(129): error C2064: term does not evaluate to a function taking 6 arguments

导致编译错误的代码:

void TransparentCheckbox::verticalGradient(HDC hDC, const RECT& GradientFill, COLORREF rgbTop, COLORREF rgbBottom)
{
GRADIENT_RECT gradientRect = { 0, 1 };
TRIVERTEX triVertext[ 2 ] = {
GradientFill.left - 1,
GradientFill.top - 1,
GetRValue(rgbTop) << 8,
GetGValue(rgbTop) << 8,
GetBValue(rgbTop) << 8,
0x0000,
GradientFill.right,
GradientFill.bottom,
GetRValue(rgbBottom) << 8,
GetGValue(rgbBottom) << 8,
GetBValue(rgbBottom) << 8,
0x0000
};

// Below is line 129
GradientFill(hDC, triVertext, 2, &gradientRect, 1, GRADIENT_FILL_RECT_V);
}

最佳答案

你已经声明了一个参数; GradientFillconst RECT&,然后调用 Windows GradientFill 过程 - 这会导致冲突。我会更改参数的名称,或者您可以将过程调用的范围限定为 ::GradientFill

关于c++ - 使用 Gradient Fill() 函数时无法编译代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10965822/

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