以下是代码:
#include <windows.h>
#include <wingdi.h>
#include <tchar.h>
#include <string>
#include <iostream>
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message) //handling the message; all cases should be in logical order
{
case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc;
GRADIENT_RECT rc;
TRIVERTEX vertex[2] ;
//vertex settings...
hdc = BeginPaint(hwnd, &ps);
GradientFill(hdc, vertex, 2, &rc, 1, GRADIENT_FILL_RECT_V);
EndPaint(hwnd, &ps);
break;
}
}
}
我从标题中获取消息,当我切换wingdi.h和windows.h时,我收到来自wingdi.h文件的错误。 我使用的是代码块。
答案 0 :(得分:1)
GradientFill的文档告诉您,哪个标头声明了一个符号以及要包含的标头:
标题:WinGdi.h(包括Windows.h)
在 WinGdi.h 中声明GradientFill
时,您应该只#include <Windows.h>
。