調用 `DrawEdge` 後界面無任何變化,而 `LineTo` 正常畫線。
DrawEdge 參數包含 LPRECT lpRect,**必須預先設置矩形坐標**,函數內部不會自動獲取客戶區大小。未初始化的 `RECT` 成員值隨機,導致繪製區域在可見區外或寬高為 0。
void CMyView::OnDraw(CDC* pDC) {
CRect rect;
GetClientRect(&rect); // 獲取客戶區矩形
rect.DeflateRect(10, 10); // 可選:向內縮進 10 像素
// 繪製凸起邊框
pDC->DrawEdge(&rect, EDGE_RAISED, BF_RECT);
// 或繪製任意矩形
// CRect r(100, 300, 200, 400); // left, top, right, bottom
// pDC->DrawEdge(&r, EDGE_SUNKEN, BF_RECT);
}
`LineTo` 只需起點/終點座標,邏輯簡單;`DrawEdge` 封裝了系統風格邊框繪製,**前提是提供合法矩形**。