第三章
1.按消息的发送途径可以分为队列消息和非队列消息。
2.按消息的来源可以分为系统消息和自定义消息。
3.按消息的处理可以分为窗口消息、命令消息和控件通知消息。



提到的函数:
PostMessage,SendMessage,SendDlgItemMessage。

第四章
1.预编译头文件,stdafx.h。
由于MFC体系结构非常大,包含多个头文件,所以每次都编译比较费时,依次把常用的
MFC头文件放在stdafx.h中,如:afxwin.h,afxext.h,afxdisp.h和afxcmn.h等。
然后用stdafx.cpp包含stdafx.h文件,这样,由于编译器可以识别那些文件已经编译过。
所以stdafx.cpp只编译一次并生成所谓的预编译头文件,如果以后在编程时
不想每次编译某些MFC头文件,也可以将这些文件添加到stdafx.h中。
采用预编译头文件可以加速编译过程。

2.书面89页,应用程序的执行过程。

第六章
1.点击后显示对话框: CDialog *dlg = new CDialog;dlg.Create();,dlg.ShowWindows(sw_show);

CreatMenu()。

2.响应WM_CONTEXTMENU,创建弹出菜单:CMenu menupop; menupop.CreatePopupMenu();menupop.AppendMenu(0,ID_file,"file"); menupop.TrackPopupMenu(TPM_LEFTALIGN,point.x,point.y,this);
然后记得调用menupop.DestroyMenu();来销毁弹出菜单。


3.创建状态栏时间: 先新建INDICATOR字符串,把它放在indicator数组里,在OnCreate里设置定时器, 然后响应wm_time事件,
CTime currtime;
CString str;
currtime = CTime::GetCurrentTime();
str = currtime.Format("%H:%M:%S");
m_wndStatusBar.SetPaneText(m_wndStatusBar.CommandToIndex(ID_INDICATOR_TIME),str);
最后在on_close里killtime();


4.创建鼠标位置: 先新建indicator字符串,加入到indicator静态数组里,因为要让视图类访问主框架类,所以要把m_wndstatusbar这个成员变量变成公开的,然后在view类cpp中加入mainfrm的头文件,然后响应wm_mousemove事件。
获取状态栏需要的长度:cclient dc(this); csize size = dc.GetTextExtent(str);状态栏指针->SetPaneInfo(index,字符ID,样式,长度);


5.小结:
状态栏,右键响应,位图,工具栏综合。


第七章 对话框
1.模态对话框和非模态对话框。


第九章
 

 

 

2.GDI对象类:CBrush,CPen,CFont,CBitmap,CPalette。

 

 


1.CFile::GetFilePath(),GetFileTitle(),GetFileName(),SetFilePath(),GetStatus()


十一
1.getcurrentprocess(),getcurrentprocessID(),

2.终止进程:exitprocess(),terminateprocess(),

3.打开进程:createprocess(null,filename,null,null,false,null,null,&si,&pi);
PROCESS_INFORMATION pi;
STARTUPINFO si={sizeof(si)}; ///////

4.创建线程:createThread();
suspendThread(),ResumeThread();Sleep(),SleepEx();
5.开始线程:afxbeginthread();


十二
1.Non-MFC Dll,Regular Dll,Extension Dll
2.dll的入口函数:dllmain().
3.setwindowshookEx();

十三
1.服务端socket流程:创建socket,bind,listen,accept,send/recv,返回等待另一客户请求,关闭socket。
2.客户端socket流程:创建socket,connect,send/recv,关闭socket。