读书人

postmessage(句柄),该如何处理

发布时间: 2012-01-09 21:05:42 作者: rapoo

postmessage(句柄,...)
我想获得主对话框中一个静态控件的句柄,把消息投递过去怎么办

[解决办法]

发送消息改变静态控件的文本:

1、改变静态控件的 ID 为 IDC_TEXT;

2、编写如下代码:

==========================================================

CWnd * pWnd = GetDlgItem(IDC_TEXT);

CString strData = "Hello ";

pWnd-> SendMessage(WM_SETTEXT,0,(LPARAM)(LPCTSTR)strData);

==========================================================
[解决办法]
把静态控件ID改为IDC_TEST,
并关联一变量m_static1。

子对话框中自定义消息
#define WM_SETVALUE WM_USER+1
添加宏映射ON_MESSAGE(WM_SETVALUE, OnSetValue)

添加消息响应函数(类的proctected成员)
afx_msg void OnSetValue();

在适当的地方发送消息PostMessage(WM_SETVALUE);
定义函数体
void CXXXXDlg::OnSetValue()
{
CString str= "测试..... ";
CMainDlg *parent=(CMainDlg*)GetParent();
parent-> m_static1.SetWindowText(str);
}

读书人网 >VC/MFC

热点推荐