看了论坛上的很多关于SendMessage的问题,大家跟我的都不一样,所以只好发帖请大家帮忙
我用SendMessage在不同的类之间传送消息:在一个含有Tree控件的类中,如果双击一个项目,则会发送一个消息给View类(pView是App类的一个成员,是View的一个实例)
CTest2App *pApp=(CTest2App *)AfxGetApp();
if (S1 == "信息输入")
{
pApp->pView->SendMessage(WM_DIALOG_SHOW,(LPARAM)_T("被测者信息输入"));
}在view的.h文件里这样写:
#define WM_DIALOG_SHOW WM_USER+1
在cpp文件里:
ON_MESSAGE(WM_DIALOG_SHOW, TesterInfo)void CTest2View::TesterInfo(WPARAM wParam,LPARAM lParam)
{
CTesterInfo dlg;
int ren = dlg.DoModal();
if (IDOK == ren)
{
......
}
else
{
return;
}
}第一次双击那一个项目的时候,响应是正常的,当点击对话框中的“确定”或“取消”按钮将对话框关闭以后,再次双击该树形控件的同一项目时候,就会出现一个错误,强制程序退出,不知道是什么问题,请大家帮帮忙,谢谢
我用SendMessage在不同的类之间传送消息:在一个含有Tree控件的类中,如果双击一个项目,则会发送一个消息给View类(pView是App类的一个成员,是View的一个实例)
CTest2App *pApp=(CTest2App *)AfxGetApp();
if (S1 == "信息输入")
{
pApp->pView->SendMessage(WM_DIALOG_SHOW,(LPARAM)_T("被测者信息输入"));
}在view的.h文件里这样写:
#define WM_DIALOG_SHOW WM_USER+1
在cpp文件里:
ON_MESSAGE(WM_DIALOG_SHOW, TesterInfo)void CTest2View::TesterInfo(WPARAM wParam,LPARAM lParam)
{
CTesterInfo dlg;
int ren = dlg.DoModal();
if (IDOK == ren)
{
......
}
else
{
return;
}
}第一次双击那一个项目的时候,响应是正常的,当点击对话框中的“确定”或“取消”按钮将对话框关闭以后,再次双击该树形控件的同一项目时候,就会出现一个错误,强制程序退出,不知道是什么问题,请大家帮帮忙,谢谢
解决方案 »
- MFC 中 CString转 String
- pdflib如何生成表格?急死了
- 新手问:请问这是一种什么语法?!
- OCX控件中使用GDI+的问题?
- 关于系统响应,很菜的问题,请高手指点
- 请问哪里有 ISAPI 的教程和相关信息可以下载??
- directshow 编译出错
- VC CEdit能不能做到一段文字不变,其他是可以添加的
- 我有一张8*8的位图,我想把windows的标准鼠标换成这张图,不知该怎么做?
- 两个分别运行在局域网中两台机器里的进程,其中一个进程想向另一个进程发送一个消息,有什么好方法可以办到
- 整个菜单和整个工具条的右边有大片的空白区域,如何在这些空白区域显示一些文字?
- CPU,内存,汇编
void CTest2View::TesterInfo()
定义的时候也没带参数,不知道这样是不是不行,可是第一次运行是正确的还有,我跟踪运行了一下,发现第一次运行后,在此点击相同的树形控件项目,感慨是运行是正确的,但是只要运行到发送消息那里就是错误的要说程序中用到了指针,那也就是在发送消息的那句涉及到了指针