MFC 关于SendMessage 消息参数 传送字符串,结构体
2016-08-26 21:23
267 查看
http://blog.csdn.net/zhoxier/article/details/7475036
今天在使用单文档程序时,弹出了一个新的对话框,由于是非模式对话框,当对话框结束后,需要根据一些消息传递参数到主窗体中
那么在对话框中使用了SendMessage
使用方法: GetParent()->SendMessage(WM_MYHIDE,WPARAM(TRUE),(LPARAM)relatedID.GetBuffer(20));
当然该消息响应事件放在了MainFrame。
*)若传送的一般参数 直接可用 wparam(para);
BOOL isChange = (BOOL)wParam;
*)若需要传递的是字符串:
CString relatedID = _T("123");
GetParent()->SendMessage(WM_MYHIDE,WPARAM(TRUE),(LPARAM)relatedID.GetBuffer(20));
reatedID.releaseBuffer();
在消息响应端:
void CDrawProgramDoc::SetYcProperty(WPARAM wParam)
{
CString str((TCHAR*)wParam);
}
这里之所以用TCHAR ,是由于在vs2010 中吧,宽字符。
*)传送结构体 :示例
struct information
{
tagRelatedInfo *pointInfo;
int pNum;
int xStart;
int xEnd;
int yStart;
int yEnd;
}Info;
Info.pointInfo = relatedPointInfo;
Info.pNum = relatedNum;
GetParent()->SendMessage(WM_MYCURVE,(WPARAM)isChanged,(LPARAM)&Info);
以上tagRelatedInfo 是自己定义的一个结构体,如下:
struct tagRelatedInfo
{
CString pointID;
COLORREFF lColor;
};
消息响应函数中:
SetCurveProperty(WPARAM wParam,LPARAM lParam)
{
struct information
{
tagRelatedInfo *pointInfo;
int pNum;
int xStart;
int xEnd;
int yStart;
int yEnd;
}*Info;
Info = (information *)lParam; //即可得到
nowMap->m_relatedNum = Info->pNum;
}
今天在使用单文档程序时,弹出了一个新的对话框,由于是非模式对话框,当对话框结束后,需要根据一些消息传递参数到主窗体中
那么在对话框中使用了SendMessage
使用方法: GetParent()->SendMessage(WM_MYHIDE,WPARAM(TRUE),(LPARAM)relatedID.GetBuffer(20));
当然该消息响应事件放在了MainFrame。
*)若传送的一般参数 直接可用 wparam(para);
BOOL isChange = (BOOL)wParam;
*)若需要传递的是字符串:
CString relatedID = _T("123");
GetParent()->SendMessage(WM_MYHIDE,WPARAM(TRUE),(LPARAM)relatedID.GetBuffer(20));
reatedID.releaseBuffer();
在消息响应端:
void CDrawProgramDoc::SetYcProperty(WPARAM wParam)
{
CString str((TCHAR*)wParam);
}
这里之所以用TCHAR ,是由于在vs2010 中吧,宽字符。
*)传送结构体 :示例
struct information
{
tagRelatedInfo *pointInfo;
int pNum;
int xStart;
int xEnd;
int yStart;
int yEnd;
}Info;
Info.pointInfo = relatedPointInfo;
Info.pNum = relatedNum;
GetParent()->SendMessage(WM_MYCURVE,(WPARAM)isChanged,(LPARAM)&Info);
以上tagRelatedInfo 是自己定义的一个结构体,如下:
struct tagRelatedInfo
{
CString pointID;
COLORREFF lColor;
};
消息响应函数中:
SetCurveProperty(WPARAM wParam,LPARAM lParam)
{
struct information
{
tagRelatedInfo *pointInfo;
int pNum;
int xStart;
int xEnd;
int yStart;
int yEnd;
}*Info;
Info = (information *)lParam; //即可得到
nowMap->m_relatedNum = Info->pNum;
}
相关文章推荐
- MFC 关于SendMessage 消息参数 传送字符串,结构体
- MFC 关于SendMessage 消息参数 传送字符串,结构体
- 关于结构体里面的字符串指针输出出现乱码的问题与结构体数组作为参数传值的问题
- MFC各个控件之间运用SendMessage()传送CString和char[]字符串,以及int类型数据
- MFC各个控件之间运用SendMessage()传送CString和char[]字符串,以及int类型数据
- VC/MFC 不同进程间的消息通信与数据(字符串)发送
- MFC 工作者线程传送消息
- 转载,关于mfc中的消息响应机制及映射机制
- Window API 关于控件的消息处理(SendMessage)(转)
- 关于Asp.net页面跳转、传送消息
- 关于VC中使用结构体和字符串
- VC/MFC 不同进程间的消息通信与数据(字符串)发送
- MFC中如何自定义消息(加点关于MFC的牢骚)
- 关于MFC中最小化消息被界面控件拦截时的替代办法
- 关于MFC下多线程,在线程中创建非模态对话框以及消息传递
- FindWindow与SendMessage传送消息
- 关于MFC自定义消息的几点思考
- 关于连接字符串中IMEX参数的一个问题
- MFC中获取消息参数wParam,lParam
- MFC几个关于字符串处理的全局函数