在C++中使用FillRect()

shu*_*ava 7 c++ graphics gdi visual-c++

我是Visual C++中使用Graphics的新手.我只是想制作一个充满颜色的矩形.需要帮助来纠正这个......

RECT rect;
HDC hdc;
hdc=CreateDC(TEXT("DISPLAY"),NULL,NULL,NULL);
rect.left=30;
rect.right=100;
rect.top=50;
rect.bottom=200;
FillRect(hdc,&rect,(HBRUSH)(RGB(40,151,151)));
Run Code Online (Sandbox Code Playgroud)

错误是:

ERROR: The variable 'rect' is being used without being initialized.

Jer*_*fin 6

这通常是警告,而不是错误.在这种情况下,它似乎也是虚假的.

如果你初始化它可能会更好:

HDC hdc=CreateDC(TEXT("DISPLAY"),NULL,NULL,NULL);
RECT rect = {30, 50, 100, 200};
HBRUSH brush = CreateSolidBrush(RGB(50, 151, 151));

FillRect(hdc, &rect, brush);

DeleteObject(brush);
Run Code Online (Sandbox Code Playgroud)

请注意使用CreateSolidBrush- 向HBRUSH投射颜色似乎不太可行.