我必须在对话框mfc中绘制一些东西,所以,我可以从我的主对话框中调用单个文档(因为我知道如何在单个文档中绘制MFC)吗? 日Thnx
答案 0 :(得分:1)
您可以在CView
和CDialog
中使用相同的绘图代码。
CView
图纸的工作原理如下:
void CMyView::OnDraw(CDC* pdc)
{
// Draw something on pdc
Draw(pdc);
}
在CDialog
中,覆盖OnPaint()
处理程序,并按如下方式绘制:
void CMyDialog::OnPaint()
{
CPaintDC dc(this);
CPaintDC* pdc = &dc;
CDialog::OnPaint();
// Draw something on pdc
Draw(pdc);
}
答案 1 :(得分:0)
使用从CStatic派生的窗口代替OnView上对话框的大小,而不是对话框中的视图。这将比在对话框中添加视图更好。
您必须重写静态控件的OnPaint()事件。为了避免闪烁,您必须重写OnEraseBkgrnd()事件。
class CMyStatic : public CStatic
{
public:
CMyStatic ()
~CMyStatic();
protected:
afx_msg void OnPaint();
void Draw(CDC *pDC);
};
void CMyStatic::Draw(CDC *pDC)
{
}
void CMyStatic::OnPaint()
{
CPaintDC dc(this);
Draw(&dc);
}