繁体   English   中英

在窗体边界C#之外的两个窗体之间绘制连接线

[英]Draw Connection line between two forms outside Form bounds C#

我试图在两种形式之间为我的特定用途划清界限。 我想知道如何在窗体范围之外的两个窗体之间绘制连接线。 我尝试使用GetDC并尝试将其绘制在桌面上,但是当该区域中的某些物体移动或刷新时将其删除。 我没有任何事件可以重画。 我尝试使用背面表格使其透明并在其中绘制,但速度非常慢,并且无法单击表格背面的任何内容。 我已经在Visual Studio中看到了一个示例。 我想画一条像下面的线。

https://skydrive.live.com/redir?resid=B140DB4D2C1B55DB!111&authkey=!APebmlRlneUpSn4&v=3&ithint=photo%2c.jpg

使用Windows API可以实现Windows之间的绘图线。 我们需要为两个窗口的大小添加事件处理程序,然后调用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;

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM