<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[clstudy13的博客]]></title><description><![CDATA[努力追求自由的人]]></description><link>https://blog.youkuaiyun.com/clstudy13</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; clstudy13]]></copyright><item><title><![CDATA[孙鑫Lesson7 Dialog]]></title><link>https://blog.youkuaiyun.com/clstudy13/article/details/52063159</link><guid>https://blog.youkuaiyun.com/clstudy13/article/details/52063159</guid><author>clstudy13</author><pubDate>Fri, 12 Aug 2016 17:19:04 +0800</pubDate><description><![CDATA[本章节主要是对话框的创建与显示，同时在对话框中进行一些操作，比如添加、收缩、确定、取消等
MFC:
CObject:CmdTarget:Cwn:Cdialog
CDialog类是在屏幕上显示的对话框基类。对话框有两类：模态对话框和非模态对话框。模态对话框在应用继续进行之前必须关闭。非模态对话框允许用户执行另外的操作而不必取消或删除该对话框。


virtual INT_PTR DoMo]]></description><category></category></item><item><title><![CDATA[孙鑫Lesson6 menu]]></title><link>https://blog.youkuaiyun.com/clstudy13/article/details/52063183</link><guid>https://blog.youkuaiyun.com/clstudy13/article/details/52063183</guid><author>clstudy13</author><pubDate>Fri, 12 Aug 2016 17:18:37 +0800</pubDate><description><![CDATA[消息分三类：
1)标准消息（WM_开头的，除WM_COMMAND，CWND派生的类都可以接收到标准消息）;
2)命令消息（来自菜单、工具栏、加速键的消息，都以WM_COMMAND呈现，在MFC中以ID号来标识不同的的命令消息。在SDK中通过消息的wParam参数识别，从CCmdTarget派生的类可以接收到此类消息）
3)通告消息（由控件产生的消息，例如按钮的单击，列表框的选择等均产生此类消]]></description><category></category></item><item><title><![CDATA[孙鑫Lesson5 text]]></title><link>https://blog.youkuaiyun.com/clstudy13/article/details/52063206</link><guid>https://blog.youkuaiyun.com/clstudy13/article/details/52063206</guid><author>clstudy13</author><pubDate>Fri, 12 Aug 2016 17:18:10 +0800</pubDate><description><![CDATA[此节主要是创建插入符，并获取字体大小创建
void CTEXTView::OnDraw(CDC* pDC)
{
	CTEXTDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	if (!pDoc)
		return;
	//CString str("this is test app");
	CString str;
	str="this is tes]]></description><category></category></item><item><title><![CDATA[孙鑫Lesson8 Dialog2]]></title><link>https://blog.youkuaiyun.com/clstudy13/article/details/52063153</link><guid>https://blog.youkuaiyun.com/clstudy13/article/details/52063153</guid><author>clstudy13</author><pubDate>Fri, 12 Aug 2016 17:16:27 +0800</pubDate><description><![CDATA[两个例子：
1、两个按钮抓不住：新建一个从CButton派生的类，并创建一个指针变量，然后在dialog创建两个button按键的新类对象，并把各自指针指向对方。然后在新类新建一个wm_mousemove消息处理函数，用showwindow实现；
2、创建属性页（两种）并选择提示，最终把选择结果显示在窗口中：
   1）创建三个属性页propertypage，并建立相应的类；
   2）在]]></description><category></category></item><item><title><![CDATA[读书感悟1]]></title><link>https://blog.youkuaiyun.com/clstudy13/article/details/52116317</link><guid>https://blog.youkuaiyun.com/clstudy13/article/details/52116317</guid><author>clstudy13</author><pubDate>Thu, 04 Aug 2016 11:45:12 +0800</pubDate><description><![CDATA[最近读了两本好书：
1、人类简史
2、吾国教育病理
好书都是共同的特点：作者比较朴实，没有那么多大道理与道德批判，基本都是从客观规律与人性出发，每一章节每一页都有很多好句，让人大开脑洞的论述与观点，读这种书是一种非常好的享受。
人类简史：作者尤瓦尔.赫拉利，犹太人
从大约135亿年前地球大爆炸之后，物质与能量出现，物理学的开始。45亿年前地球形成，38亿年前有机生物形成，生物学的开始。6]]></description><category></category></item><item><title><![CDATA[vector extern]]></title><link>https://blog.youkuaiyun.com/clstudy13/article/details/52094461</link><guid>https://blog.youkuaiyun.com/clstudy13/article/details/52094461</guid><author>clstudy13</author><pubDate>Tue, 02 Aug 2016 15:19:39 +0800</pubDate><description><![CDATA[extern声明变量无外乎如下两种：
1、声明全局变量
2、声明函数
声明和定义
既然提到extern声明变量，那我们就必须搞清楚声明和定义的区别。
这里我们将普通数据变量和函数统称变量。从内存分配角度来说，声明和定义的区别在于声明一个变量不会分配内存，而定义一个变量会分配内存。一个变量可以被声明多次，但是只能被定义一次。
基于以上前提，我们可以把声明和定义类比为指针和内存的关系。我们]]></description><category></category></item><item><title><![CDATA[孙鑫 Lesson1 window]]></title><link>https://blog.youkuaiyun.com/clstudy13/article/details/52063287</link><guid>https://blog.youkuaiyun.com/clstudy13/article/details/52063287</guid><author>clstudy13</author><pubDate>Fri, 29 Jul 2016 11:45:18 +0800</pubDate><description><![CDATA[#include 
#include 


LRESULT CALLBACK WinSunProc(
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);


int WINAPI WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR  lpCmd]]></description><category></category></item><item><title><![CDATA[孙鑫Lesson2 grammer]]></title><link>https://blog.youkuaiyun.com/clstudy13/article/details/52063259</link><guid>https://blog.youkuaiyun.com/clstudy13/article/details/52063259</guid><author>clstudy13</author><pubDate>Fri, 29 Jul 2016 11:43:14 +0800</pubDate><description><![CDATA[::作用域标示符
虚函数与纯虚函数
纯虚函数没有结构体，包含纯虚函数的类抽象类，不能进行实例化

#include “”当前目录下搜索  系统目录下搜索
编译时头文件不参与编译，源文件参与先生成目标文件，源文件每个独自编译。先由预处理器对头文件进行编译，然后将源代码生成目标文件，由连接器进行链接，与标准库函数然后动态链接库，生成EXE。



SDK、API、MFC区别？MFC是]]></description><category></category></item><item><title><![CDATA[孙鑫Lesson3 principle]]></title><link>https://blog.youkuaiyun.com/clstudy13/article/details/52063232</link><guid>https://blog.youkuaiyun.com/clstudy13/article/details/52063232</guid><author>clstudy13</author><pubDate>Fri, 29 Jul 2016 11:41:44 +0800</pubDate><description><![CDATA[MFC:
CObject:CCmdTarget、CDC、CException、CFile、CMenu、CGdiObject
CCmdTarget:CWinThread、CWnd、CDocument、COleControlContainer

CDC:CClientDC、CPaintDC、CWindowDC、CMetaFileDC

CGdiObject：CBitmap、CBrush、C]]></description><category></category></item><item><title><![CDATA[孙鑫 Lesson4 draw]]></title><link>https://blog.youkuaiyun.com/clstudy13/article/details/52063223</link><guid>https://blog.youkuaiyun.com/clstudy13/article/details/52063223</guid><author>clstudy13</author><pubDate>Fri, 29 Jul 2016 11:41:10 +0800</pubDate><description><![CDATA[先在视图的头文件中添加三个变量m_ptOld、m_ptOrigin、m_bDraw
void CDrawView::OnLButtonDown(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	m_ptOrigin=m_ptOld=point;
	]]></description><category></category></item><item><title><![CDATA[孙鑫 Lesson9 Style]]></title><link>https://blog.youkuaiyun.com/clstudy13/article/details/52063148</link><guid>https://blog.youkuaiyun.com/clstudy13/article/details/52063148</guid><author>clstudy13</author><pubDate>Fri, 29 Jul 2016 11:35:05 +0800</pubDate><description><![CDATA[1、如何修改窗口的外观与大小等
2、如何修改工具栏位置与停靠
3、如何设置状态栏的时间、进度、鼠标坐标
4、启动画面]]></description><category></category></item><item><title><![CDATA[孙鑫 lesson10 Graphic]]></title><link>https://blog.youkuaiyun.com/clstudy13/article/details/52063135</link><guid>https://blog.youkuaiyun.com/clstudy13/article/details/52063135</guid><author>clstudy13</author><pubDate>Fri, 29 Jul 2016 11:34:24 +0800</pubDate><description><![CDATA[设置点、线、矩形、椭圆
设置颜色、字体
设置背景色、字体颜色与样式]]></description><category></category></item><item><title><![CDATA[孙鑫 lesson11 Graphic2]]></title><link>https://blog.youkuaiyun.com/clstudy13/article/details/52063125</link><guid>https://blog.youkuaiyun.com/clstudy13/article/details/52063125</guid><author>clstudy13</author><pubDate>Fri, 29 Jul 2016 11:33:51 +0800</pubDate><description><![CDATA[Graphic2]]></description><category></category></item><item><title><![CDATA[孙鑫 lesson12 File]]></title><link>https://blog.youkuaiyun.com/clstudy13/article/details/52063102</link><guid>https://blog.youkuaiyun.com/clstudy13/article/details/52063102</guid><author>clstudy13</author><pubDate>Fri, 29 Jul 2016 11:31:26 +0800</pubDate><description><![CDATA[写入、读取文件
写入、读取注册表]]></description><category></category></item><item><title><![CDATA[孙鑫 lesson13 Document]]></title><link>https://blog.youkuaiyun.com/clstudy13/article/details/52063087</link><guid>https://blog.youkuaiyun.com/clstudy13/article/details/52063087</guid><author>clstudy13</author><pubDate>Fri, 29 Jul 2016 11:30:42 +0800</pubDate><description><![CDATA[建立文档，写入与读取文件，CFile与Archive一起使用；
app是如何把文档、框架、视图组合起来的，以及IDR_MAINFRAME中7段各段意思
什么时候调用serialize：新建、装载、保存文档数据时框架调用。]]></description><category></category></item><item><title><![CDATA[孙鑫 lesson14 network]]></title><link>https://blog.youkuaiyun.com/clstudy13/article/details/52057130</link><guid>https://blog.youkuaiyun.com/clstudy13/article/details/52057130</guid><author>clstudy13</author><pubDate>Thu, 28 Jul 2016 17:16:58 +0800</pubDate><description><![CDATA[服务端：基于TCP的连接

 



 
客户端：基于TCP的连接

 
服务端：基于UDP



客户端：基本UDP



EXample]]></description><category></category></item><item><title><![CDATA[孙鑫lesson15 多线程与聊天室]]></title><link>https://blog.youkuaiyun.com/clstudy13/article/details/52056685</link><guid>https://blog.youkuaiyun.com/clstudy13/article/details/52056685</guid><author>clstudy13</author><pubDate>Thu, 28 Jul 2016 16:49:05 +0800</pubDate><description><![CDATA[DWORD WINAPI Fun1Proc(
  LPVOID lpParameter   // thread data
);


DWORD WINAPI Fun2Proc(
  LPVOID lpParameter   // thread data
);
int index=0;
int tickets=100;
HANDLE hMutex;
void main()
{]]></description><category></category></item><item><title><![CDATA[孙鑫 lesson16 thread syn&asynchronos socket]]></title><link>https://blog.youkuaiyun.com/clstudy13/article/details/52056523</link><guid>https://blog.youkuaiyun.com/clstudy13/article/details/52056523</guid><author>clstudy13</author><pubDate>Thu, 28 Jul 2016 16:23:47 +0800</pubDate><description><![CDATA[创建事件：
事件对象也属于内核对象，包含一个使用计数，一个用于指明该事件是一个自动重置的事件还是一个人工重置的事件的布尔值，另一个用于指明该事件处于已通知状态还是未通知状态的布尔值。
有两种不同类型的事件对象。一种是人工重置的事件，另一种是自动重置的事件。当人工重置的事件得到通知时，等待该事件的所有线程均变为可调度线程。当一个自动重置的事件得到通知时，等待该事件的线程中只有一个线程变为可调度线]]></description><category></category></item><item><title><![CDATA[孙鑫Lesson17 process network]]></title><link>https://blog.youkuaiyun.com/clstudy13/article/details/52053850</link><guid>https://blog.youkuaiyun.com/clstudy13/article/details/52053850</guid><author>clstudy13</author><pubDate>Thu, 28 Jul 2016 11:40:18 +0800</pubDate><description><![CDATA[进程间通信:剪切板、匿名管道、命名管道、邮槽
剪切板、匿名管道：不能跨网络，匿名管道只能在父子进程之间进行通信
命名管道、邮槽：跨网络，但是命名管道是一对一的，邮槽是广播式的，服务端只能接收，客户端只能写入]]></description><category></category></item><item><title><![CDATA[孙鑫 lesson18 ActiveX]]></title><link>https://blog.youkuaiyun.com/clstudy13/article/details/52053505</link><guid>https://blog.youkuaiyun.com/clstudy13/article/details/52053505</guid><author>clstudy13</author><pubDate>Thu, 28 Jul 2016 11:17:40 +0800</pubDate><description><![CDATA[ActiveX控件：不能独立运行的，必需嵌入容器才能得到执行的函数功能组合。

容器应用程序是可以嵌入或链接对象的应用程序。Word就是容器应用程序。

服务器应用程序是创建对象并且当对象被双击时，可以被启动的应用程序。Excel就是服务器应用程序。

ActiveX控件的四种属性
Stock：为每个控件提供的标准属性，如字体或颜色。
Ambient：围绕控件的环境属性——已被置入]]></description><category></category></item></channel></rss>