社区
界面
帖子详情
为什么不能直接从对话框类往视图类传自定义的消息么??
hz31
2003-09-12 11:06:56
我看的一个东东里面,要求先把对话框的消息,传到主框架里面..再传到视图类里面???为什么不能从对话框类直接发送消息到视图呢?我这样做的时候总是出错...!!!!!!是不是这是要求遵从windows的消息传递机制啊??????
...全文
27
5
打赏
收藏
为什么不能直接从对话框类往视图类传自定义的消息么??
我看的一个东东里面,要求先把对话框的消息,传到主框架里面..再传到视图类里面???为什么不能从对话框类直接发送消息到视图呢?我这样做的时候总是出错...!!!!!!是不是这是要求遵从windows的消息传递机制啊??????
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tryber
2003-09-13
打赏
举报
回复
gzshd(郁闷) ( ) 信誉:105 2003-09-12 23:54:00 得分:0
如下:
#include "MainFrm.h"
#include "MyView.h"
...
CMainFrame *pframe=(CMainFrame *)AfxGetMainWnd();
CMyView *pview=(CMyView *)pframe->GetActiveView();
pview.SendMessage(...);
...
//用完后不要忘了delete
delete pframe;
delete pview;
pframe=NULL;
pview=NULL;
啊,这两句看得我心惊肉跳,
delete pframe;
delete pview;
是你发错了,还是我看错了。
有那么麻烦吗?
//myview.cpp
void CMyView::OnDlgMsg()
{
CxxxDlg dlg(this);
...
}
//xxxdlg.cpp
void CxxxDlg::OnViewMsg()
{
这样就可以直接从对话框中给这个视图发送消息了
::SendMessage(GetParent()->GetSafeHwnd(), ...);
}
gzshd
2003-09-12
打赏
举报
回复
如下:
#include "MainFrm.h"
#include "MyView.h"
...
CMainFrame *pframe=(CMainFrame *)AfxGetMainWnd();
CMyView *pview=(CMyView *)pframe->GetActiveView();
pview.SendMessage(...);
...
//用完后不要忘了delete
delete pframe;
delete pview;
pframe=NULL;
pview=NULL;
flyelf
2003-09-12
打赏
举报
回复
我的意思就是说,可以在你的对话框中声明这么一个变量HWND m_hWndView;
然后在视图中弹出对话框的时候,给对话框的这个变量赋值
CxxxDlg dlg;
dlg.m_hWndView = GetSafeHwnd();// 得到视图的指针
这样就可以直接从对话框中给这个视图发送消息了
::SendMessage(m_hWndView, ...)
hz31
2003-09-12
打赏
举报
回复
谢谢!那你的意思是直接可以在这两个类间传递?可是那个句柄是先包含视图类的引用#include CMyView ;再在头文件中定义一个实例CMyView viw;然后再在对话框类中使用viw.sendmessage()不就可以嘛?
flyelf
2003-09-12
打赏
举报
回复
可能是你没有得到正确的视图类的窗口句柄
VC一个
自定义
消息
的实例:从一个
对话框
向另一个
对话框
发送
消息
一个
对话框
自定义
消息
,用来接收另一个
对话框
的
消息
。在vs2008下编译执行通过.
自定义
消息
传递(从
对话框
到
视图
)
问题:系统通过菜单项弹出一个
对话框
,需要
视图
响应该
对话框
的
消息
并更新
视图
。不可能在
视图
类中
直接
建立
对话框
控件的
消息
响应函数,因此需要
自定义
消息
传递。由
对话框
发出
消息
,
视图
类接收,并作出重绘动作更新
视图
。 解决方法: 1)在应用程序类的头文件中,C***App类声明的前面定义
消息
宏:#pragma once#include "resource.h" #defin
MySQL
视图
Re: MySQL
视图
========================= # 什么是
视图
数据库中的
视图
是一个虚拟表(逻辑存在),同真实的表(物理存在)一样,
视图
包含一系列带有名称的行和列数据。行和列数据来自由定义
视图
查询所应用的表,...
MFC中
对话框
向
视图
类的数据发送
最近在做一个界面上的东西:需要在工具栏中点击按钮弹出一个
对话框
,这个
对话框
需要根据
视图
类里面的 变量进行更新
对话框
里面combox的内容,同时
对话框
需要将变化的内容发送给
视图
类,这就涉及到了
对话框
和
视图
类之间的信息传递。 首先需要说明的一点是因为需要进行数据传递,所以
不能
使用模态的
对话框
,必须使用非模态的
对话框
, 也就是
不能
使用DoModel函数,我刚开始遇到的问题时
视图
类如何知道
MFC从
对话框
向CView
类传
递
消息
和参数的方法
从
自定义
对话框
向CView
类传
递
自定义
消息
和参数。记录一下大致思路: 首先,对于
自定义
的
消息
,通过类向导工具生成相应的
消息
处理程序和
消息
处理表语句。之后要手动在
对话框
的.h文件里加入#define语句,
自定义
的
消息
名称自拟,将其define为类似于(WM_USER+100)的形式,这个100是自己定的,可以改。 然后在
自定义
对话框
类的某个函数里可以编写发送
消息
的程序,这里我想要在点击“确定”时发送
消息
,那就重载OnOK函数,在里面写如下程序:先获取MainFrame类的句柄,然后才能获取其View类句柄
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章