void CGraphicView::OnFont()
{
// TODO: Add your command handler code here
CFontDialog dlg;
if(IDOK==dlg.DoModal())
{
if(m_font.m_hObject)
{
m_font.DeleteObject();
}
m_font.CreateFontIndirect(dlg.m_cf.lpLogFont);
m_fontname=dlg.m_cf.lpLogFont->lfFaceName;
//MessageBox(m_fontname);
//CClientDC dc(this);
//OnDraw(&dc);//注释的语句就可以正确运行
Invalidate();//如果用这个就不能,测试发现没有触发OnDraw函数!!!!!!!
}
}
void CGraphicView::OnDraw(CDC* pDC)
{
CGraphicDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
CFont *oldfont=pDC->SelectObject(&m_font);
//MessageBox(m_fontname);
pDC->TextOut(0,0,m_fontname);
pDC->SelectObject(oldfont);
}
当我在Onfont函数里面用Invalidate函数的时候,我的OnDraw函数我用MessageBox测试发现没有被调用,我要打印的字没有被打印出来,但是我通过显示的调用就可以打印出来.请高手帮我看看是什么问题
??????
{
// TODO: Add your command handler code here
CFontDialog dlg;
if(IDOK==dlg.DoModal())
{
if(m_font.m_hObject)
{
m_font.DeleteObject();
}
m_font.CreateFontIndirect(dlg.m_cf.lpLogFont);
m_fontname=dlg.m_cf.lpLogFont->lfFaceName;
//MessageBox(m_fontname);
//CClientDC dc(this);
//OnDraw(&dc);//注释的语句就可以正确运行
Invalidate();//如果用这个就不能,测试发现没有触发OnDraw函数!!!!!!!
}
}
void CGraphicView::OnDraw(CDC* pDC)
{
CGraphicDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
CFont *oldfont=pDC->SelectObject(&m_font);
//MessageBox(m_fontname);
pDC->TextOut(0,0,m_fontname);
pDC->SelectObject(oldfont);
}
当我在Onfont函数里面用Invalidate函数的时候,我的OnDraw函数我用MessageBox测试发现没有被调用,我要打印的字没有被打印出来,但是我通过显示的调用就可以打印出来.请高手帮我看看是什么问题
??????
解决方案 »
- fread函数读入图片数据到内存及用send函数发送时的参数问题,请指教
- 关于CListCtrl自绘的问题
- 句柄获取消息
- 怎么解决临界资源问题?做FTP上传的时候同时在对上传的那个文件进行操作,但不成功
- playsound用法?
- 急,自定义工具条,不知道什么问题,大家帮我看看~
- 文本编辑器应该用什么数据结构
- 如果TCP 80端口被占用,HTTP服务器另用哪个端口比较合理?
- 这20分没人要吗?在对话框类里如何返回派生于文档类的子类的指针?
- 一个奇怪的问题,高手帮忙~谢谢了
- select是否有这样的特性:如果IP值存在,那么他的TIMEOUT产生作用,否则死掉?
- 请问:MFC中,可以有几个对话框?
{
// TODO: Add your command handler code here
CFontDialog dlg;
if(IDOK==dlg.DoModal())
{
if(m_font.m_hObject)
{
m_font.DeleteObject();
}
m_font.CreateFontIndirect(dlg.m_cf.lpLogFont);
m_fontname=dlg.m_cf.lpLogFont->lfFaceName;
//MessageBox(m_fontname);
//CClientDC dc(this);
//OnDraw(&dc);//注释的语句就可以正确运行
Invalidate();//如果用这个就不能,测试发现没有触发OnDraw函数!!!!!!!
}
}
void CGraphicView::OnDraw(CDC* pDC)
{
CGraphicDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
CFont *oldfont=pDC->SelectObject(&m_font);
//MessageBox(m_fontname);
pDC->TextOut(0,0,m_fontname);
pDC->SelectObject(oldfont);
}
当我在Onfont函数里面用Invalidate函数的时候,我的OnDraw函数我用MessageBox测试发现没有被调用,我要打印的字没有被打印出来,但是我通过显示的调用就可以打印出来.请高手帮我看看是什么问题
?????? class CGraphicView : public CView
我想不明白呢。