簡體   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