请问在非模对话框中怎样操纵主程序里的函数,,(回者有分) 我在一个单文档中定义了一个非模对话框,,需要通过点击非模中的按钮操纵View里的函数,,请问需要怎样!!我试过SendMessage,可是执行后就推出主程序!!不知道为什么,请大侠指点!!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SendMessage应该可以的,你是怎么用的阿? SendMessage(hWnd,WM_TEST,0,0)自己定义的消息!!#define WM_TEST WM_USER+5ON_MESSAGE(WM_TEST,EndMisson)afx........ ON_MESSAGE(WM_TEST,EndMisson)你自定义的消息,是如何实现的啊, EndMisson是要结束任务吗?代码贴出来看看 EndMisson是结束非模对话框!!代码没带来!! 加一个全局的窗口指针指向view。 #define WM_TEST WM_USER + 5 ON_MESSAGE(WM_TEST,EndMisson)afx_msg void EndMisson();bool CMyFormView::EndMisson(){ if( pdlg1 != NULL ) { pdlg1->DestroyWindow(); delete pdlg1; pdlg1 = NULL; } return true;} 1、SendMessage 、PostMessage2、创建对话筐时把当前指针传递过去 #include "mainfrm.h"((CSDIView*)((CMainFrame*)(AfxGetApp()->m_pMainWnd))->GetActiveView()) 得到View类指针就可以操纵成员函数了 同意 bluebohe(薄荷)的做法,得到VIEW类的指针;CsdiView *pView = (CsdiView *)((CMainFrame *)AfxGetMainWnd())->GetActiveView();sdi->Funx();Funx()为VIEW 类的函数。 如果你的视图类是CYourView,那么:CMainFrame * pM=(CMainFrame *)AfxGetMainWnd();CYourView * pV=(CYourView *)pM->GetActiveView();现在你可以调用你的函数了。pV->YourFunction(....) 谢谢大家,,,哈!!我懂了!!现在可以结帖了!!感谢bluebohe(薄荷) [Help]端口映射及通过ActiveX控件广域网内访问视频流问题。。。。 对话框属性设置中的字体设置? CHR$(10)是什么符号? 如何在非按钮图标上添加消息响应 OpenGL深度测试问题 回调函数的问题 晕了用Wise Installation System 8.1做安装包的问题 急问关于OLE的问题(WEB控件的打印问题) 用MFC编了个程序运行时报错,提示说要以管理员身份运行,怎么办 新手问题:请问在别的类中用过的数据我怎么在其他类中运用? 简单的邮件转码问题 每次FTP下载多个文件是否每下载一个文件都需要重新连接?能否举例说明
自己定义的消息!!#define WM_TEST WM_USER+5
ON_MESSAGE(WM_TEST,EndMisson)afx........
你自定义的消息,是如何实现的啊, EndMisson是要结束任务吗?
代码贴出来看看
代码没带来!!
ON_MESSAGE(WM_TEST,EndMisson)
afx_msg void EndMisson();bool CMyFormView::EndMisson()
{
if( pdlg1 != NULL )
{
pdlg1->DestroyWindow();
delete pdlg1;
pdlg1 = NULL;
}
return true;}
2、创建对话筐时把当前指针传递过去
((CSDIView*)((CMainFrame*)(AfxGetApp()->m_pMainWnd))->GetActiveView())
CsdiView *pView = (CsdiView *)((CMainFrame *)AfxGetMainWnd())->GetActiveView();
sdi->Funx();Funx()为VIEW 类的函数。
CMainFrame * pM=(CMainFrame *)AfxGetMainWnd();
CYourView * pV=(CYourView *)pM->GetActiveView();
现在你可以调用你的函数了。
pV->YourFunction(....)
哈!!
我懂了!!
现在可以结帖了!!
感谢bluebohe(薄荷)