学习MFC(1)

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还早被创建。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值