首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

请教这个函数如何建立的

2012-12-31 
请问这个函数怎么建立的?LRESULT CWeChatDlg::OnClientMessage(WPARAM wParam, LPARAM lParam){CEdit * ou

请问这个函数怎么建立的?
LRESULT CWeChatDlg::OnClientMessage(WPARAM wParam, LPARAM lParam)
{
CEdit * output=NULL;
char s[1024];
int len;
switch(lParam)
{
case FD_CONNECT:
len=GetLastError();
if(len!=0)
{
AfxMessageBox("Error in Connecting");
}
else
{
m_bInit=TRUE;
m_bClient=TRUE;
m_sShowText="Having connected to server!\n";
GetDlgItem(IDC_SHOWTEXT)->SetWindowText(m_sShowText);
}
return 0;
case FD_READ:
len=recv(m_client.m_hSocket,s,1024,0);
s[len]=NULL;
m_sShowText+=s;
//随时跟踪滚动条的位置 
output=(CEdit *)GetDlgItem(IDC_SHOWTEXT);
output->SetWindowText(m_sShowText);
output->LineScroll(output->GetLineCount());
return 0;
case FD_WRITE:
return 0;
case FD_CLOSE:
return 0;
default:
output=(CEdit *)GetDlgItem(IDC_SHOWTEXT);
output->SetWindowText("An network error has occured,the connection is dropped");
closesocket(m_client.m_hSocket);
m_bInit=false;
return 0;
}
}


我想新建一个项目,参考某一个项目,里面这个函数我有点不明白是重写还是响应函数?还是自己写出来就可以的那种?MFC我是初手……抱歉打扰
[解决办法]
这个是自定义消息函数,根据lParam的值来判断应该进行什么操作

一般用SendMessage和PostMessage触发自定义的消息

消息映射会绑定该消息

ON_MESSAGE(自定义消息编号,OnClientMessage)
[解决办法]
这叫消息响应函数,要自定义一个消息 然后用PostMessage或者SendMessage触发调用,当然你自己直接调用也是可以的,但是达不到windows消息处理的优点了

热点排行