我新学VC和MFC,就照着候先生的《深入浅出MFC》学习。
基本上比较顺利,不过当学到第八章调用对话框的时候就出问题了。
我照着例子把对话框画出来,然后doModel它。编译可以通过,但是只要执行这个操作程序就没有反映了。
我不知道什么原因,就随便新建了一个dialog(非常简单的那种),可是调用的时候还是不行。
后来我干脆就调用about对话框,但还是没有任何反映。
这种没有反映就像进入了死循环一样,占用CPU资源达到了90%以上。我初步怀疑是程序其他的框架问题,但是又不知道哪里出的问题,清高手指点
谢谢
代码很简单
void CScribbleDoc::OnPenWidths(){ //一个菜单项
CPenWidthsDlg dlg;
if(IDOK==dlg.DoModal()){
//现在把里面的代码全都去掉了也不行
}
}
{
// TODO: Add your command handler code here
TestDlg dlg;
if(dlg.DoModal()==IDOK){
//fdsafasdf;
}
}几位,能给推荐个VIEW ,DOC,FRAME之间的关系要搞清楚的文章嘛?
不如发到[email protected]。:>
我这里有本书,但是没法给你,呵呵
邮件已经发送 谢谢查收 hyg2008(蓝色雨)
你的书是什么名字啊?告诉我我自己搜下 谢谢
问题在这里:
void CScribbleView::OnPaint()
{
// CPaintDC dc(this); // device context for painting
CClientDC dc(this);
CClientDC* d = &dc;
this->OnDraw(d);
// TODO: Add your message handler code here
// Do not call CEditView::OnPaint() for painting messages
}
应该改为:
void CScribbleView::OnPaint()
{
CPaintDC dc(this); // device context for painting
this->OnDraw(&dc);
// TODO: Add your message handler code here
// Do not call CEditView::OnPaint() for painting messages
}
在OnPaint中你怎么用ClientDC呢?MFC都已经帮你建好的dc你不用。