学习MFC(1)

来源:互联网 发布:300英雄网络不给力 编辑:程序博客网 时间:2024/04/29 15:23

C++C开发windows应用程序的区别

C语言:

使用一个窗口句柄HWND完成窗口的各种操作(WNDwindows的内部私有结构)

C++

使用CWnd

Windows窗口和CWnd的区别

CWnd由构造函数创建;

Windows窗口由CWndCreate函数创建

 

CWnd

操作一个HWND类型的数据成员:m_hWnd.

句柄和指针的区别

指针对应一个数据在内存中的地址,指针可以自由修改数据

句柄并不能直接操作它,而是通过调用相应的API函数来操作

 

句柄映射机制(内部实现机制)

MFC使用一个CHandleMap来将窗口句柄映射到C++窗口对象

 

(问题:这个CHandleMap是不是仅有一个单件类?还是每次创建一个MFC类就创建一个CHandleMap?)

 

这部分不是很懂。

 

MFC与线程

MFC规定,

1.      MFC线程不能创建和访问MFC对象。

(问题:什么是MFC线程?怎样创建?)

回答:只有通过CWinThread创建的对象才可以访问MFC线程对象和使用MFC对象。

(问题:这个CWinThread到底是何方神圣?)

感觉CWinThreadc++里负责创建线程的类。

 

2.      一个线程仅能访问它自己创建的MFC对象;

 

模块-线程状态的创建

它在CWinApp的构造函数里完成。

MFC应用程序会自动生成一个theApp,比WinMain还早被创建。

 

 

原创粉丝点击