怎么自定义消息,怎么发送自定义消息!

如何自定义消息,如何发送自定义消息!?
怎么自定义消息,怎么发送自定义消息!
大家帮忙看看啊,谢谢了。
“保存修改”按钮在对话框CMXPZXXDLG中,其中有列表控件,左侧的树在控件CMyTreeCtrl中,我想实现的功能是当在列表控件中修改了数据后,如果我直接点击左侧的树节点,希望能够给出提示信息“右侧列表控件的修改未保存,要离开吗”的提示。
我的思路是,想办法先建立一个消息:“保存修改”按钮未按下的消息,然后在左侧树控件CMyTreeCtrl中当点击了其他节点时候,在树控件的WM_SelChanged 的响应函数中写MessageBox("侧列表控件的修改未保存,要离开吗"),难点是我怎么样才能捕获“保存修改”按钮未按下,却点击了左侧树控件的其他节点这个消息,或者是捕获“保存修改”按钮未按下这个想要自定义的消息,再有,就是如何自定义这样的一个消息!?
------解决思路----------------------
不用这么做的。你可能不知道在文档视图结构中,文档类有个脏标志,当文档被修改后,标志就会设置为TRUE。当你要退出系统市,就会告诉你文档已经被修改,是否需要保存。
你的需求类似,不需要什么消息,只需要记录一个变量,表示右侧的信息是否被修改过。
当树中发生点击事件时,判断是否点击了当前选中项,是则不需处理(本来选中的就是它,当然不需要管了)。当选中其它节点时,判断记录的变量是否为TRUE就可以了
------解决思路----------------------
引用:
我的工程是基于对话框的,不是文档类型的呀。

我并没有说你要用文档类啊。我只是给你举例子,懂吗?要会看懂别人的意思才行......
------解决思路----------------------
现在不是问题太难,是你的基础太差......
不需要大牛来解答,只需要你稍微看点书......
就是一句话:怎么说你也没法明白。
我觉得我前面说的已经很明白了。奈何你看不懂......
------解决思路----------------------
消息定制:
1) 建立消息号  #define MYMESSAGE WM_USER+106 
2) 消息映射  ON_MESSAGE(MYMESSAGE, OnMyMessage)
3) 消息函数定义  afx_msg void OnMyMessage(WPARAM wParam,LPARAM lParam);
4) 实现消息函数  void CMainFrame::OnMyMessage(WPARAM wParam,LPARAM lParam)
   {
    CString prompt;
    prompt.Format("%s",lParam);
    AfxMessageBox(prompt);
   }
5) 发送消息  PostMessage异步的,需要外部定义,或者加上static.  SendMessage同步的,等待消息处理完,可以在堆栈中定义. void CShhApp::OnAppAbout() {  static char myParameter[]="my test";  CAboutDlg aboutDlg;  aboutDlg.DoModal();

 AfxGetMainWnd()->PostMessage(MYMESSAGE,0,(LPARAM)myParameter);//Asynchron //  SendMessage(MYMESSAGE,1000,(LPARAM)myParameter);//Synchron }

LRESULT SendMessage(   HWND hWnd,      // handle of destination window 窗口句柄,例中为当前窗口,不需要此参数   UINT Msg,       // message to send   WPARAM wParam,  // first message parameter   16位   LPARAM lParam   // second message parameter  32位,一般为地址 );
------解决思路----------------------
自定义消息, 很简单.   #define   WM_MY_MESSAGE  (WM_USER+111)     
就是一个自定义消息了.

不过, 你这里, 只需要一个变量就能搞定.

比如你有一个变量   BOOL m_bSave;
当你"编辑了任何数据"就设置m_bSave为FALSE
当点击了保存修改, 就设置为m_bSave为TRUE.
这样, 你就能很清楚的知道修改是否被保存过了.