不用那么复杂。
对话框弹出时,这样写:if(dlg.DoModal() == IDOK)
{
//将在对话框中取得值传给View的相应变量
}
对话框弹出时,这样写:if(dlg.DoModal() == IDOK)
{
//将在对话框中取得值传给View的相应变量
}
解决方案 »
- 点击按钮的时候,为什么调用了ON_WM_SETFOCUS但是没有调用ON_CONTROL_REFLECT
- 使用MFC的ODBC去连接ACCESS数据库后,怎样断开与数据库和数据源的连接。
- 如何存储类指针?
- CMSHFlexGrid控件问题
- 字符数组I/O流困惑!Help!
- VC6与SQL Sever设计的问题!!!
- DLL输出函数头文件不能被同一个工程包含多次???
- 关于GDI+的头文件问题(在线,解决立即给分)
- 聊天程序的问题
- 请教:如何防止一个程序在资源管理器窗口双击被运行起来!我关心的是:如何在我的程序里设置而不是修改资源管理器的设置!
- 求救,VC6 有 Bug ! 谁能解决?
- 文件的路径选择对话框使用的是哪个API函数?
to lingwetao: 不好用啊
如果写在对话框或视图类,就直接Invalidate
如果写在别的一般的类上,难道你不要构造一个DC?
pWinApp=(CyourApp* )AfxGetApp();
CyourMainWnd *pMainWnd=pWinApp->GetMainWnd()
CyourView *pView = (CyourView *) pMainWnd->GetActiveView();
界面的更新应该在DoModal调用之后,这样就不用考虑怎么得到视图了。
{
// TODO: Add extra validation here
UpdateData(false);
CMainFrame *pFrame =
(CMainFrame*)AfxGetApp()->m_pMainWnd;
CDddView *pView = (CDddView *) pFrame->GetActiveView();
CDC* pDC=pView->GetDC();
pDC->MoveTo(m_xs,m_ys);//这是画的直线m_xs等值都是自己输入的
pDC->LineTo(m_xe,m_ye);CDialog::OnOK();}编译通过了,可是输入完数值之后,按ok,图形没有变化
另,这个对话框是点击有键产生的
if(dlg.DoModal()==IDOK)
{
//取得半径值
Invalidate();//然后在OnPaint中重画即可
}
你要使用Microsoft 视图文档结构才好的。