我可以从对话框MFC调用单个文档MFC吗?
我必须在对话框mfc中绘制一些东西,所以,我可以从主对话框调用单个文档(因为我知道如何在单个文档mfc中绘制)吗?我可以从对话框MFC调用单个文档MFC吗?,mfc,Mfc,我必须在对话框mfc中绘制一些东西,所以,我可以从主对话框调用单个文档(因为我知道如何在单个文档mfc中绘制)吗? thnx您可以在CView和CDialog中使用相同的图形代码 在CView上绘图工作如下: void CMyView::OnDraw(CDC* pdc) { // Draw something on pdc Draw(pdc); } void CMyDialog::OnPaint() { CPaintDC dc(this); CPaintDC*
thnx您可以在
CView
和CDialog
中使用相同的图形代码
在CView上
绘图工作如下:
void CMyView::OnDraw(CDC* pdc)
{
// Draw something on pdc
Draw(pdc);
}
void CMyDialog::OnPaint()
{
CPaintDC dc(this);
CPaintDC* pdc = &dc;
CDialog::OnPaint();
// Draw something on pdc
Draw(pdc);
}
在CDialog
中,重写OnPaint()
处理程序,并如下所示绘制:
void CMyView::OnDraw(CDC* pdc)
{
// Draw something on pdc
Draw(pdc);
}
void CMyDialog::OnPaint()
{
CPaintDC dc(this);
CPaintDC* pdc = &dc;
CDialog::OnPaint();
// Draw something on pdc
Draw(pdc);
}
使用从CStatic派生的窗口,而不是对话框中的视图,并将其设置为OnSize上对话框的大小。这比在对话框中添加视图要好 必须重写静态控件的OnPaint()事件。要避免闪烁,必须重写OnEraseBkgrnd()事件