⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 怎么使用sendmessage自定义消息函数_缘竹园.htm

📁 自己总结的一些VB资料
💻 HTM
📖 第 1 页 / 共 3 页
字号:
				}else{					RelatedDocData = xhr.responseText;				}			}		}	}	xhr.send(null);})();/*]]>*/</SCRIPT>

<META content="MSHTML 6.00.2900.3354" name=GENERATOR></HEAD>
<BODY onload=formatonlinpic();>
<CENTER>
<SCRIPT type=text/javascript>
/*<![CDATA[*/
if(top.location != self.location){
	top.location = self.location;
}
var myref = encodeURI("http://hi.baidu.com/jianzhichang/blog/item/82fe7c03dcc1a6713912bba6%2Ehtml");
/*]]>*/
</SCRIPT>
<LINK href="怎么使用SendMessage自定义消息函数_缘竹园.files/mods.css" type=text/css 
rel=stylesheet><LINK 
href="怎么使用SendMessage自定义消息函数_缘竹园.files/745fd660c1e901df8db10dd5.css" 
type=text/css rel=stylesheet><LINK 
href="怎么使用SendMessage自定义消息函数_缘竹园.files/space.css" type=text/css rel=stylesheet>
<STYLE type=text/css>#usrbar {
	PADDING-RIGHT: 10px; PADDING-LEFT: 0px; FONT-SIZE: 12px; BACKGROUND: #ffffff; FILTER: alpha(opacity=65); PADDING-BOTTOM: 3px; WIDTH: 100%; COLOR: #000000; LINE-HEIGHT: 19px; PADDING-TOP: 4px; FONT-FAMILY: Arial; LETTER-SPACING: normal; HEIGHT: 19px; TEXT-ALIGN: right; moz-opacity: 0.5
}
#usrbar A {
	COLOR: #0000cc; TEXT-DECORATION: underline
}
#usrbar A:link {
	COLOR: #0000cc; TEXT-DECORATION: underline
}
#usrbar A:visited {
	COLOR: #0000cc; TEXT-DECORATION: underline
}
#ft {
	CLEAR: both; FONT-SIZE: 12px; COLOR: #666666; LINE-HEIGHT: 20px; FONT-FAMILY: Arial; HEIGHT: 20px; TEXT-ALIGN: center
}
#ft A {
	COLOR: #7777cc; TEXT-DECORATION: underline
}
#ft A:link {
	COLOR: #7777cc; TEXT-DECORATION: underline
}
#ft A:visited {
	COLOR: #7777cc; TEXT-DECORATION: underline
}
#usrbar {
	LETTER-SPACING: normal
}
#usrbar A {
	LETTER-SPACING: normal
}
#usrbar A:link {
	LETTER-SPACING: normal
}
#usrbar A:visited {
	LETTER-SPACING: normal
}
#ft {
	LETTER-SPACING: normal
}
#ft A {
	LETTER-SPACING: normal
}
#ft A:link {
	LETTER-SPACING: normal
}
#ft A:visited {
	LETTER-SPACING: normal
}
</STYLE>

<DIV id=usrbar><NOBR><A href="http://www.baidu.com/" target=_blank>百度首页</A> | <A 
id=hi_index href="http://hi.baidu.com/" target=_blank>百度空间</A>
<SCRIPT type=text/javascript>
		document.write('| <a href="http://passport.baidu.com/?login&tpl=sp&tpl_reg=sp&u=http://hi.baidu.com' + encodeURI('/jianzhichang/blog/item/82fe7c03dcc1a6713912bba6%2Ehtml') + '">登录</a>');
		</SCRIPT>
 </NOBR></DIV>
<DIV id=main align=left><!--[if IE]>
<SCRIPT>
var objmain = document.getElementById("main");
function updatesize(){ var bodyw = window.document.body.offsetWidth; if(bodyw <= 790) objmain.style.width="772px"; else if(bodyw >= 1016) objmain.style.width="996px"; else objmain.style.width="100%"; }
updatesize(); window.onresize = updatesize;
</SCRIPT>
<![endif]-->
<DIV id=header>
<DIV class=lc>
<DIV class=rc></DIV></DIV>
<DIV class=tit><A class=titlink 
title="jianzhichang的空间 http://hi.baidu.com/jianzhichang" 
href="http://hi.baidu.com/jianzhichang">缘竹园</A></DIV>
<DIV class=desc>平静的心像水一样没有波澜,这就是传说中的心如止水吧。</DIV>
<DIV id=tabline></DIV>
<DIV id=tab><A href="http://hi.baidu.com/jianzhichang">主页</A><A class=on 
href="http://hi.baidu.com/jianzhichang/blog">博客</A><A 
href="http://hi.baidu.com/jianzhichang/album">相册</A><SPAN>|</SPAN><A 
href="http://hi.baidu.com/jianzhichang/profile">个人档案</A> <SPAN>|</SPAN><A 
href="http://hi.baidu.com/jianzhichang/friend">好友</A> </DIV></DIV>
<DIV class=stage>
<DIV class=stagepad>
<DIV style="WIDTH: 100%">
<TABLE class=modth cellSpacing=0 cellPadding=0 width="100%" border=0>
  <TBODY>
  <TR>
    <TD class=modtl width=7>&nbsp;</TD>
    <TD class=modtc noWrap>
      <DIV class=modhead><SPAN class=modtit>查看文章</SPAN></DIV></TD>
    <TD class=modtc noWrap align=right></TD>
    <TD class=modtr width=7>&nbsp;</TD></TR></TBODY></TABLE>
<DIV class=modbox id=m_blog>
<DIV class=tit>怎么使用SendMessage自定义消息函数</DIV>
<DIV class=date>2008-07-21 13:14</DIV>
<TABLE style="TABLE-LAYOUT: fixed">
  <TBODY>
  <TR>
    <TD>
      <DIV class=cnt 
      id=blog_text>vc中怎么使用SendMessage自定义消息函数:<BR><BR>SendMessage的基本结构如下:<BR>SendMessage(<BR>&nbsp;&nbsp;&nbsp; 
      HWND hWnd, //消息传递的目标窗口或线程的句柄。<BR>&nbsp;&nbsp;&nbsp; UINT Msg, 
      //消息类别(这里可以是一些系统消息,也可以是自己定义,下文具体介绍,)<BR>&nbsp;&nbsp;&nbsp; WPARAM wParam, 
      //参数1 (WPARAM 其实是与UINT是同种类型的,<BR>&nbsp;&nbsp; 
      //在vc编译器中右键有个“转到WPARAM的定义”的选项可以查看。 <BR>&nbsp;&nbsp;&nbsp; LPARAM lParam); 
      //参数2<BR>其中一些参数的由来如下:<BR>//typedef unsigned int UINT;<BR>//typedef UINT 
      WPARAM;<BR>//typedef LONG LPARAM;<BR>//typedef LONG 
      LRESULT;<BR>例如可以用以下语句:<BR>::SendMessage(this-&gt;m_hWnd, WM_MY_DOSOME, 
      (WPARAM) 0, (LPARAM) 
      0);<BR>这里我发送的消息是本窗体接收的,所以句柄用:this-&gt;m_hWnd<BR>这里的消息类别WM_MY_DOSOME就是我自定义的,<BR>在接收消息的窗体或线程所在的头文件里:<BR>#define 
      WM_MY_DOSOME WM_USER+1 // do something<BR>当然你还可以定义更多如:<BR>#define 
      WM_DOOTHER WM_USER+2 // do other 
      <P>表示要做一些事情。<BR>到这里,可能大家还是对消息类别有点模糊,不要担心,我下面很快就讲到。<BR>我们发了一个消息出去,那么接收方要能识别这个消息是干什么,就是通过消息类别来区分,<BR>并且开始去做这个消息对应要处理的事情。如下:<BR>一:编写一个事情:<BR>我们在接收窗体里定义一个这样的事情(过程),<BR>afx_msg 
      LRESULT DoSomeThing(WPARAM iParam1,LPARAM 
      iParam2)<BR>{<BR>MessageBox("收到消息了,我要开始做一些事情了。","收到",MB_OK);<BR>//可以运用iParam1,iParam2 
      来做一些事情。<BR>return 
      0;<BR>}<BR>这个事情有3点大家要注意,非常重要:<BR>1:使用了afx_msg,并且要将afx_msg LRESULT 
      DoSomeThing(WPARAM iParam1,LPARAM iParam2)<BR>改写到头文件的 <BR>//{{AFX_MSG 
      <BR>//。。。改写到这里,颜色会变成灰的。这一点非常重要。<BR>//}}AFX_MSG<BR>2:参数有2个,WPARAM 
      iParam1,LPARAM 
      iParam2,哪怕没有东西传进来也要写,不然会吃苦头的,vc里不会提醒你少写了一个,<BR>但一些莫名奇妙的事情会发生。<BR>3:类型用 
      LRESULT,完了要return 0; 
      <BR>二:让接收方知道什么时候做这个事情:<BR>我们在<BR>//{{AFX_MSG_MAP<BR>//。。。这里写上<BR>ON_MESSAGE(WM_MY_DOSOME,DoSomeThing)<BR>//如果还有其他消息就再写一个<BR>ON_MESSAGE(WM_DOOTHER,DoOther)<BR>//}}AFX_MSG_MAP<BR>到这里,当你用SendMessage,发了一个WM_MY_DOSOME类型的消息过来的时候,<BR>接收方就会去做DoSomeThing(WPARAM 
      iParam1,LPARAM 
      iParam2)<BR>发了一个WM_DOOTHER类型的消息过来的时候,<BR>接收方就会去做DoOther(WPARAM 
      iParam1,LPARAM 
      iParam2)当然,这里DoOther我还没有定义,<BR>这样就是一个完整的消息发送与接受过程,我没有详细讲参数,iParam1,因为还没有用到很复杂的情况,<BR>大家要是有心得我们可以一起提高。</P>
      <DIV 
      style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/None.gif" align=top><SPAN 
      style="COLOR: #000000">在头文件里<BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/None.gif" align=top></SPAN><SPAN 
      style="COLOR: #0000ff">#define</SPAN><SPAN style="COLOR: #000000"> 
      WM_MYMSG&nbsp;&nbsp; WM_USER+5 </SPAN><SPAN 
      style="COLOR: #008000">//</SPAN><SPAN 
      style="COLOR: #008000">自定义一个消息</SPAN><SPAN style="COLOR: #000000"><BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/None.gif" align=top><BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/None.gif" align=top><BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/None.gif" align=top>afx_msg 
      </SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN 
      style="COLOR: #000000"> OnMyMessage(WPARAM wParam, LPARAM lParam); 
      </SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN 
      style="COLOR: #008000">自定义消息的处理函数声明</SPAN><SPAN 
      style="COLOR: #008000"><BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/None.gif" align=top></SPAN><SPAN 
      style="COLOR: #000000"><BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/None.gif" align=top><BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/None.gif" align=top><BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/None.gif" align=top>在.cpp文件里<BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/None.gif" 
      align=top>ON_MESSAGE(WM_MYMSG, OnMyMessage)<BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/None.gif" align=top></SPAN><SPAN 
      style="COLOR: #008000">//</SPAN><SPAN 
      style="COLOR: #008000">利用ON_MESSAGE()宏在自定义消息与其处理函数间建立映射关系</SPAN><SPAN 
      style="COLOR: #008000"><BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/None.gif" align=top></SPAN><SPAN 
      style="COLOR: #000000"><BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/None.gif" align=top></SPAN><SPAN 
      style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000"> 
      CModelessDlg::OnMyMessage(WPARAM wParam, LPARAM lParam)<BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/None.gif" align=top></SPAN><SPAN 
      style="COLOR: #008000">//</SPAN><SPAN 
      style="COLOR: #008000">从lParam中取出CString对象的指针,并将字符串内容在IDC_MSGEDIT中显示出来</SPAN><SPAN 
      style="COLOR: #008000"><BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/ExpandedBlockStart.gif" 
      align=top><IMG style="DISPLAY: none" 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/ContractedBlock.gif" 
      align=top></SPAN><SPAN 
      style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/dot.gif"></SPAN><SPAN><SPAN 
      style="COLOR: #000000">{<BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/InBlock.gif" align=top><BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/InBlock.gif" 
      align=top>&nbsp;&nbsp;&nbsp;&nbsp; CString </SPAN><SPAN 
      style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">str;<BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/InBlock.gif" 
      align=top>&nbsp;&nbsp;&nbsp;&nbsp; str</SPAN><SPAN 
      style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">(CString 
      </SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN 
      style="COLOR: #000000">)lParam;<BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/InBlock.gif" align=top><BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/InBlock.gif" 
      align=top>&nbsp;&nbsp;&nbsp;&nbsp; SetDlgItemText(IDC_EDIT,</SPAN><SPAN 
      style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">str);<BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/ExpandedBlockEnd.gif" 
      align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/None.gif" align=top><BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/None.gif" align=top><BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/None.gif" align=top>按下按钮发送消息<BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/None.gif" align=top></SPAN><SPAN 
      style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000"> 
      CModelessDlg::OnMsgBTN() <BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/ExpandedBlockStart.gif" 
      align=top><IMG style="DISPLAY: none" 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/ContractedBlock.gif" 
      align=top></SPAN><SPAN 
      style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/dot.gif"></SPAN><SPAN><SPAN 
      style="COLOR: #000000">{<BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/InBlock.gif" align=top><BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/InBlock.gif" align=top> CString 
      str</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN 
      style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #800000">"</SPAN><SPAN 
      style="COLOR: #800000">自定义消息被触发了!</SPAN><SPAN 
      style="COLOR: #800000">"</SPAN><SPAN style="COLOR: #000000">;<BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/InBlock.gif" align=top><BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/InBlock.gif" 
      align=top>SendMessage(WM_MYMSG, </SPAN><SPAN 
      style="COLOR: #800080">0</SPAN><SPAN style="COLOR: #000000">, (LPARAM) 
      </SPAN><SPAN style="COLOR: #000000">&amp;</SPAN><SPAN 
      style="COLOR: #000000">str);<BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/InBlock.gif" align=top> </SPAN><SPAN 
      style="COLOR: #008000">//</SPAN><SPAN 
      style="COLOR: #008000">给ModelessDlg自己发一个自定义的消息</SPAN><SPAN 
      style="COLOR: #008000"><BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/InBlock.gif" align=top></SPAN><SPAN 
      style="COLOR: #000000"><BR><IMG 
      src="怎么使用SendMessage自定义消息函数_缘竹园.files/ExpandedBlockEnd.gif" 
      align=top>}</SPAN></SPAN><SPAN 
      style="COLOR: #000000"><BR></SPAN></DIV></DIV></TD></TR></TBODY></TABLE><BR>
<DIV class=opt><A title=查看该分类中所有文章 
href="http://hi.baidu.com/jianzhichang/blog/category/&Ouml;&ordf;&Ecirc;&para;&Otilde;&ucirc;&Agrave;í">类别:知识整理</A> | <A 
title=将此文章添加到百度搜藏 onclick="return addToFavor();" 
href="http://cang.baidu.com/do/add" target=_blank>添加到搜藏</A> | 浏览(<SPAN 
id=result></SPAN>) | <A 
href="http://hi.baidu.com/jianzhichang/blog/item/82fe7c03dcc1a6713912bba6.html#send">评论</A>&nbsp;(0)
<SCRIPT language=javascript>/*<![CDATA[*/var pre = [true,'转:Linux下C语言编程--进程的创建(2)', '转:Linux下C语言编程--进程的创...','/jianzhichang/blog/item/e7403338d0a3bec7d462250c.html'];var post = [true,'很想很想','很想很想', '/jianzhichang/blog/item/04d1e681d0b10adebd3e1e54.html'];if(pre[0] || post[0]){	document.write('<div style="height:5px;line-height:5px;">&nbsp;</div><div id="in_nav">');	if(pre[0]){		document.write('上一篇:<a href="' + pre[3] + '" title="' + pre[1] + '">' +  pre[2] + '</a>&nbsp;&nbsp;&nbsp;&nbsp;');	}	if(post[0]){		document.write('下一篇:<a href="' + post[3] + '" title="' + post[1] + '">' +  post[2] + '</a>');	}	document.write('</div>');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -