我已经阅读了有关GetDIBits或BitBlt的内容,但我不理解它们。
那可能是因为我不了解Windows如何实际处理Windows上的图形。如果有人可以将我引到我可以了解这些事情的页面,那将是完美的! :)
最佳答案
我在Windows WM_PAINT中使用此代码解决了问题。现在,它显示与目标窗口完全相同的内容。
PAINTSTRUCT ps;
HDC hdc = BeginPaint(MainWindow, &ps);
HDC TargetDC = GetDC(TargetWindow);
RECT rect;
GetWindowRect(TargetWindow, &rect);
BitBlt(hdc,0,0,rect.right-rect.left,rect.bottom-rect.top,TargetDC,0,0,SRCCOPY);
EndPaint(MainWindow, &ps);
关于c++ - 如何在Win32 C++中复制窗口的可视内容并将其放在新窗口中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14386312/