gdi 螢幕畫線
阿新 • • 發佈:2018-12-10
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); }