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中完全相同。 –