0
我想绘制两个窗体之间的一条线,供我具体使用。我想知道如何在窗体边界之外的两个窗体之间绘制一条连接线。我尝试过使用GetDC并试图在桌面上绘制它,但是当在该区域中移动或刷新时删除了它。我没有任何事件要重新绘制。我尝试使用背面形式使其透明并在其中绘制,但速度很慢,我无法点击任何背面的形式。我在视觉工作室看过一个样本。我想画一条像下面这样的线。绘制两个窗体之间的连接线外部窗体边界C#
我想绘制两个窗体之间的一条线,供我具体使用。我想知道如何在窗体边界之外的两个窗体之间绘制一条连接线。我尝试过使用GetDC并试图在桌面上绘制它,但是当在该区域中移动或刷新时删除了它。我没有任何事件要重新绘制。我尝试使用背面形式使其透明并在其中绘制,但速度很慢,我无法点击任何背面的形式。我在视觉工作室看过一个样本。我想画一条像下面这样的线。绘制两个窗体之间的连接线外部窗体边界C#
使用Windows API可以实现窗口之间绘制线。我们需要为这两个窗口调整大小添加事件处理程序,然后调用Windows API,例如lineTo在桌面上绘制一条线。
我是Windows API的初学者,需要进一步研究以应用完整的解决方案。所以只需显示线条绘制方法。虽然我确定它可以工作。
#include <windows.h>
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nShowCmd)
{
HDC hdc;
HWND hwnd;
COLORREF clr;
hwnd = GetDesktopWindow();
//DC of desktop
hdc = GetWindowDC(hwnd);
//Background color
SetBkMode(hdc, TRANSPARENT);
MoveToEx (hdc, 0, 0, NULL) ;
//The line will disappear after refreshing
LineTo (hdc, 500, 500) ;
ReleaseDC(hwnd, hdc);
Sleep(5000);
return 0;
}
我寻找到加入消息循环处理来保持清爽线后。 – user3217861
但是这个会在屏幕刷新时被删除吗?我想要的行与在visual studio中完全相同。 –