gpt4 book ai didi

c++ - 为什么用GetDC(0)绘制图形?一旦窗口移动到它们上方就会消失?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:22:33 25 4
gpt4 key购买 nike

如果您使用以下代码绘制一个矩形,只要有任何物体移过它,该矩形就会消失。

#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/

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