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学习碎片的更多相关文章
- MFC 学习之 鼠标移动到Toolbar按钮上显示提示信息(tooltip),状态栏也随之改变
1.在ResourceView里加入Toolbar资源,命名IDR_TOOLBAR1 2.在主程序的.h文件中加入变量: CToolBar m_toolbar;CImageList ...
- MFC学习笔记1---准备工作
什么是MFC MFC,全称Microsoft Foundation Classes,微软基础类库,顾名思义,是微软的攻城狮们将一些常用的基础的Windows API 函数用C++的形式封装成类,简化程 ...
- MFC 学习笔记
MFC 学习笔记 一.MFC编程基础: 概述: 常用头文件: MFC控制台程序: MFC库程序: 规则库可以被各种程序所调用,扩展库只能被MFC程序调用. MFC窗口程序: 示例: MFC库中类的简介 ...
- MFC学习笔记(一)
个人对MFC技术一直都很感兴趣,因为能够做出漂亮绚丽的界面应该是一件十分有成就感的事情. 学习的参考课本为北京博彦科技发展有限责任公司翻译的Jeff Prosise著的<MFC Windows程 ...
- MFC学习-第一课 MFC运行机制
最近由于兴趣爱好,学习了孙鑫的MFC教程的第一课.看完视频了,自己便用visual studio 2010尝试了MFC编程,其中遇到了一些问题. 1.vs2010不像vs6.0那样可以新建一个空的MF ...
- 初识MFC学习——Hello World
MFC(Microsoft Foundation Classes),是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows的API,并且包含一个应用程序框架, ...
- 我的MFC学习之路(一)
因为项目需求,我开始应用MFC写程序.具体接触MFC的时间大概也有两个月了.现在的水平算是刚刚踏入了MFC大门的半只脚.目前能基本使用MFC Class Wizard,可以根据实例仿照完成需求,小范围 ...
- MFC学习指南大纲
最近一直在做MFC的项目,顺便学习一下以下MFC核心知识吧: 大纲: 1. 消息队列 2. send message 3. post message 4. 面向对象编程 5. 指针 一个一个来学习哈.
- 【MFC学习笔记-作业7-小型画图软件】【】
作业要求: 按下鼠标右键画圆. 按下鼠标左键移动曲线. 丝毫没有思路..网上教程又比这个程序复杂100倍... 好吧 总算找到一个合适的了... 转载至:http://blog.chinaunix.n ...
随机推荐
- Qt中暂停线程的执行(主线程和工作线程共用一把锁,一旦主线程将它锁上,工作线程就无法运行了,这也是一个办法)
在线程中定义一个信号量: QMutex pause; 把run()函数中循环执行的部分用信号量pause锁住: void run() { while(1) { pause.lock ...
- 高可用技术工具包 High Availability Toolkit
HighAvailabilityToolkit High Availability Toolkit includes several solutions by which achieving arch ...
- android监听虚拟按键的显示与隐藏【转】
本文转载自:http://blog.csdn.net/u014583590/article/details/55263141 虚拟按键在华为手机中大量存在,而虚拟按键的存在无疑增加了屏幕适配的难度,往 ...
- 【CQOI 2009】 余数之和
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1257 [算法] k mod i = k - [k / i] * i 所以 (k mo ...
- jdk5可变参数列表
今天碰到了 public static String getAutoRelateRelationship(final JSONObject modifyJson, String... inUsedCo ...
- shp系列(三)——利用C++进行DBF文件的读(打开)
1.DBF文件要点 DBF文件又叫属性文件,也叫dBASE文件,文件后缀是.dbf,实际上ArcGIS打开后的属性表就是DBF的信息.DBF文件遵循以下几个条件: 每个要素在表中必须要包含一个与之相对 ...
- Python的filter与map内置函数
简单的记录下这两个函数的功能: list(filter(lambda x : x % 2, range(10))) 上例是返回了0-10之间的所有基数组成的列表.filter()有2个参数,第一个参数 ...
- 8、List接口的特点及其相关功能
/* * Collection * |--List * 元素有序(指的是存储顺序和取出顺序是否一致),可重复. * |--Set * 元素无序,唯一. */ /* * List的特有功能: * A:添 ...
- Jenkins 打包 java项目时 丢失 配置文件(resource)
使用IDEA开发的spring boot 项目在本地打包运行可以,但是利用Jenkins打包运行提示读取不到配置文件中的变量,打开jar包发现里面没有配置文件.解决方法是在pom中增加如下配置 < ...
- Linq怎么支持Monad
在上一篇创建了我们的第一个Monad, Identity<T>. 我们确定了类型要变成Monad, 它必须有一个type constructor(Identity<T>), 和 ...