我試圖創建一個允許用戶在圖片控件框上繪製矩形的界面。我有一個圖片控件類,並使用CRectTracker允許用戶繪製一個矩形。我希望用戶也能夠選擇以前繪製的矩形,但我不知道如何處理繪製的矩形的選擇。 我希望能夠選擇矩形,並在其上添加調整大小處理程序。MFC在圖片控件上選擇用戶繪製的矩形
這是我繪製矩形的代碼。
空隙PictureCtrl :: OnLButtonDown中(UINT NFLAGS,口岸系統點) {
// If mouse click is outside of rectangle
if(m_drawRect.m_tracker.HitTest(point) < 0) {
if(m_drawRect.m_tracker.TrackRubberBand(this, point, TRUE)) {
CDC* pDC = GetDC();
m_drawRect.m_tracker.m_nStyle &= CRectTracker::resizeInside;
// Paint transparent rectangle
pDC->SelectStockObject(NULL_BRUSH);
pDC->Rectangle(m_drawRect.m_tracker.m_rect);
ReleaseDC(pDC);
}
}
CStatic::OnLButtonDown(nFlags, point);
}
任何幫助,將不勝感激。謝謝。
感謝您的幫助。我看了一下DrawCLI的例子和許多其他的例子,並注意到其中大部分都是在一個文檔上繪製的。除了在優化校準之外,我希望能夠做到這一點。我看到一些例子,在調整大小後,文檔需要調用invalidate/update方法來顯示更改。我可以用圖片控件做同樣的事嗎? – Jay
實際上,DrawCLI引用了View類--Document類只是保存數據,而View類是數據的「視圖」;我不明白爲什麼你不能在Picture Control上繪製,只要它有一個'OnDraw()'或'OnPaint()'方法或類似的東西 –
啊好吧。無效/更新窗口會導致OnDraw()方法執行嗎?對不起,我是MFC的新手。 – Jay