- 博客(22)
- 收藏
- 关注
原创 孙鑫Lesson7 Dialog
本章节主要是对话框的创建与显示,同时在对话框中进行一些操作,比如添加、收缩、确定、取消等MFC:CObject:CmdTarget:Cwn:CdialogCDialog类是在屏幕上显示的对话框基类。对话框有两类:模态对话框和非模态对话框。模态对话框在应用继续进行之前必须关闭。非模态对话框允许用户执行另外的操作而不必取消或删除该对话框。virtual INT_PTR DoMo
2016-08-12 17:19:04
287
原创 孙鑫Lesson6 menu
消息分三类:1)标准消息(WM_开头的,除WM_COMMAND,CWND派生的类都可以接收到标准消息);2)命令消息(来自菜单、工具栏、加速键的消息,都以WM_COMMAND呈现,在MFC中以ID号来标识不同的的命令消息。在SDK中通过消息的wParam参数识别,从CCmdTarget派生的类可以接收到此类消息)3)通告消息(由控件产生的消息,例如按钮的单击,列表框的选择等均产生此类消
2016-08-12 17:18:37
426
原创 孙鑫Lesson5 text
此节主要是创建插入符,并获取字体大小创建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
2016-08-12 17:18:10
282
原创 孙鑫Lesson8 Dialog2
两个例子:1、两个按钮抓不住:新建一个从CButton派生的类,并创建一个指针变量,然后在dialog创建两个button按键的新类对象,并把各自指针指向对方。然后在新类新建一个wm_mousemove消息处理函数,用showwindow实现;2、创建属性页(两种)并选择提示,最终把选择结果显示在窗口中: 1)创建三个属性页propertypage,并建立相应的类; 2)在
2016-08-12 17:16:27
288
原创 读书感悟1
最近读了两本好书:1、人类简史2、吾国教育病理好书都是共同的特点:作者比较朴实,没有那么多大道理与道德批判,基本都是从客观规律与人性出发,每一章节每一页都有很多好句,让人大开脑洞的论述与观点,读这种书是一种非常好的享受。人类简史:作者尤瓦尔.赫拉利,犹太人从大约135亿年前地球大爆炸之后,物质与能量出现,物理学的开始。45亿年前地球形成,38亿年前有机生物形成,生物学的开始。6
2016-08-04 11:45:12
427
原创 vector extern
extern声明变量无外乎如下两种:1、声明全局变量2、声明函数声明和定义既然提到extern声明变量,那我们就必须搞清楚声明和定义的区别。这里我们将普通数据变量和函数统称变量。从内存分配角度来说,声明和定义的区别在于声明一个变量不会分配内存,而定义一个变量会分配内存。一个变量可以被声明多次,但是只能被定义一次。基于以上前提,我们可以把声明和定义类比为指针和内存的关系。我们
2016-08-02 15:19:39
1888
原创 孙鑫 Lesson1 window
#include #include LRESULT CALLBACK WinSunProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam);int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmd
2016-07-29 11:45:18
222
原创 孙鑫Lesson2 grammer
::作用域标示符虚函数与纯虚函数纯虚函数没有结构体,包含纯虚函数的类抽象类,不能进行实例化#include “”当前目录下搜索 系统目录下搜索编译时头文件不参与编译,源文件参与先生成目标文件,源文件每个独自编译。先由预处理器对头文件进行编译,然后将源代码生成目标文件,由连接器进行链接,与标准库函数然后动态链接库,生成EXE。SDK、API、MFC区别?MFC是
2016-07-29 11:43:14
233
原创 孙鑫Lesson3 principle
MFC:CObject:CCmdTarget、CDC、CException、CFile、CMenu、CGdiObjectCCmdTarget:CWinThread、CWnd、CDocument、COleControlContainerCDC:CClientDC、CPaintDC、CWindowDC、CMetaFileDCCGdiObject:CBitmap、CBrush、C
2016-07-29 11:41:44
328
原创 孙鑫 Lesson4 draw
先在视图的头文件中添加三个变量m_ptOld、m_ptOrigin、m_bDrawvoid CDrawView::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default m_ptOrigin=m_ptOld=point;
2016-07-29 11:41:10
193
原创 孙鑫 lesson13 Document
建立文档,写入与读取文件,CFile与Archive一起使用;app是如何把文档、框架、视图组合起来的,以及IDR_MAINFRAME中7段各段意思什么时候调用serialize:新建、装载、保存文档数据时框架调用。
2016-07-29 11:30:42
258
原创 孙鑫lesson15 多线程与聊天室
DWORD WINAPI Fun1Proc( LPVOID lpParameter // thread data);DWORD WINAPI Fun2Proc( LPVOID lpParameter // thread data);int index=0;int tickets=100;HANDLE hMutex;void main(){
2016-07-28 16:49:05
422
原创 孙鑫 lesson16 thread syn&asynchronos socket
创建事件:事件对象也属于内核对象,包含一个使用计数,一个用于指明该事件是一个自动重置的事件还是一个人工重置的事件的布尔值,另一个用于指明该事件处于已通知状态还是未通知状态的布尔值。有两种不同类型的事件对象。一种是人工重置的事件,另一种是自动重置的事件。当人工重置的事件得到通知时,等待该事件的所有线程均变为可调度线程。当一个自动重置的事件得到通知时,等待该事件的线程中只有一个线程变为可调度线
2016-07-28 16:23:47
347
原创 孙鑫Lesson17 process network
进程间通信:剪切板、匿名管道、命名管道、邮槽剪切板、匿名管道:不能跨网络,匿名管道只能在父子进程之间进行通信命名管道、邮槽:跨网络,但是命名管道是一对一的,邮槽是广播式的,服务端只能接收,客户端只能写入
2016-07-28 11:40:18
323
原创 孙鑫 lesson18 ActiveX
ActiveX控件:不能独立运行的,必需嵌入容器才能得到执行的函数功能组合。容器应用程序是可以嵌入或链接对象的应用程序。Word就是容器应用程序。服务器应用程序是创建对象并且当对象被双击时,可以被启动的应用程序。Excel就是服务器应用程序。ActiveX控件的四种属性Stock:为每个控件提供的标准属性,如字体或颜色。Ambient:围绕控件的环境属性——已被置入
2016-07-28 11:17:40
267
原创 孙鑫lesson20 hook &database
hook 过滤某些消息/database connection 数据库连接,主要是通过ODBC进行数据库连接,三大核心 connection command recordset
2016-07-28 11:15:33
380
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人