首页 > 代码库 > MFC学习碎片
MFC学习碎片
(1)MFC程序中弹出框:
MessageBox(str,_T("程序运行结果"),MB_OK); AfxMessageBox("Hello");
(2)MFC获取Edit Control的值:
CEdit *edit1, *edit2; //注意获取两个控件的值时,要分别加上* edit1 = (CEdit*)GetDlgItem(IDC_EDIT_USERNAME); edit2 = (CEdit*)GetDlgItem(IDC_EDIT_PWD); //获取Edit Control的值: edit1->GetWindowText(m_csName); edit2->GetWindowText(m_csPwd); m_csName.ReleaseBuffer(); m_csPwd.ReleaseBuffer(); //设置Edit Control的值: edit1->SetWindowText("Hello!");
(3)Socket传递结构体:
//定义消息的宏,主要定义结构体类型 #define MSG_TYPE_LOGIN 1 #define MSG_TYPE_LOGIN_RST 2 struct StrMsg { int m_nMsgType; //用来标识结构体类型 union //不同结构体定义在一个联合中 { struct Strlogin m_strLogin; struct StrloginRst m_strLoginRst; } }; struct StrLogin { char m_szUID[20]; char m_szPWD[20]; }; struct StrLoginRst { int m_nLoginRst; }; //发送结构体 CString csName = "HELLO"; CString csPwd = "123456"; StrMag msgToSend; msgToSend.m_nMagType = MAG_TYPE_LOGIN; //设置消息类型 memset(msgToSend.m_strLogin.m_szUID, '\0', 20); //初始化字符数组 strcpy(msgToSend.m_strLogin.m_szUID, csName); //给字符数组赋值 memset(msgToSend.m_strLogin.m_szPWD, '\0', 20); strcpy(msgToSend.m_strLogin.m_szPWD, csPwd); pSocket->Send(&msgToSend, sizeof(StrMsg)); //套接字发送结构体 //接收结构体 StrMsg* pMsg = (StrMsg*)pBuf; //这里用到强制类型转换 switch(pMsg->m_nMsgType) { case MSG_TYPE_LOGIN: { StrLogin login = pMsg->m_strLogin; //发送过来的结构体在这里就可以使用了 /*********在这里可以添加对接受到结构体StrLogin的处理程序************/ StrMsg msgResult; //收到消息之后可以回复消息给对方 msgResult.m_nMsgType = MSG_TYPE_LOGINRST; msgResult.m_strLoginRst.m_nLoginRst = 0; pChatSocket->Send(&msgResult, sizeof(StrMsg)); //回复消息 } break; case MSG_TYPE_REG: break; }
MFC学习碎片
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。