我可以从对话框MFc调用单个文档MFC吗?

时间:2014-05-15 16:07:07

标签: mfc

我必须在对话框mfc中绘制一些东西,所以,我可以从我的主对话框中调用单个文档(因为我知道如何在单个文档中绘制MFC)吗? 日Thnx

2 个答案:

答案 0 :(得分:1)

您可以在CViewCDialog中使用相同的绘图代码。

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);
}