[英]Draw Connection line between two forms outside Form bounds C#
我試圖在兩種形式之間為我的特定用途划清界限。 我想知道如何在窗體范圍之外的兩個窗體之間繪制連接線。 我嘗試使用GetDC並嘗試將其繪制在桌面上,但是當該區域中的某些物體移動或刷新時將其刪除。 我沒有任何事件可以重畫。 我嘗試使用背面表格使其透明並在其中繪制,但速度非常慢,並且無法單擊表格背面的任何內容。 我已經在Visual Studio中看到了一個示例。 我想畫一條像下面的線。
使用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.