如果您使用以下代码绘制一个矩形,只要有任何物体移过它,该矩形就会消失。
#include "stdafx.h"
#include <Windows.h>
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
HDC screenDC = ::GetDC(0);
::Rectangle(screenDC, 200, 200, 300, 300);
int exit; cin >> exit;
return 0;
}
有什么方法可以在我的 Rectangle 被销毁时接收回调以便我可以重新绘制它?有什么办法可以改变我的矩形的颜色吗?是否有涵盖此内容的好的综合教程?
最佳答案
如果你想画一个矩形,最好在你自己的窗口中画。每当您的窗口再次可见并需要重新绘制时,您将收到 WM_PAINT
事件。该操作系统并非偶然被称为“Windows”;大多数图形化的东西都以窗口为中心。
如果除了那个矩形你不想显示任何东西,那么让窗口和矩形一样大。
关于c++ - 为什么用GetDC(0)绘制图形?一旦窗口移动到它们上方就会消失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16549675/