gdi 屏幕画线

HWND appwnd;
	appwnd = (HWND)winId();
	HMONITOR hMonitor;
	hMonitor = MonitorFromWindow(appwnd, MONITOR_DEFAULTTONULL);
	MONITORINFOEX info;
	info.cbSize = sizeof(MONITORINFOEX);
	if (GetMonitorInfo(hMonitor, &info))
	{
		
		HDC hdc = CreateDC(info.szDevice, NULL, NULL, NULL);
		Graphics* graph = Graphics::FromHDC(hdc);
		Point lt,  rb;

		lt = Point(0,0);
		rb = Point(info.rcMonitor.right - info.rcMonitor.left, info.rcMonitor.bottom - info.rcMonitor.top);

		Pen pen(Color(255, 222, 0), m_lineWidth);
		Pen pen1(Color(255, 222, 0), m_lineWidth);

		Point start1(lt.X, lt.Y);
		Point end1(lt.X, lt.Y + m_lineLength);
		Point end2(lt.X + m_lineLength, lt.Y);

		Point start2(rb.X - m_lineWidth, rb.Y);
		Point end3(rb.X - m_lineLength - m_lineWidth, rb.Y);
		Point end4(rb.X - m_lineWidth, rb.Y - m_lineLength);


		graph->DrawLine(&pen, start1, end1);
		graph->DrawLine(&pen, start1, end2);
		graph->DrawLine(&pen1, start2, end3);
		graph->DrawLine(&pen1, start2, end4);
		DeleteDC(hdc);
	}

你可能感兴趣的:(win32)