首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

VC用应用程序种与窗口类之间,指针与句柄之间都是什么关系啊

2013-01-28 
VC用应用程序类与窗口类之间,指针与句柄之间都是什么关系啊?VC用应用程序类与窗口类之间,指针与句柄之间都

VC用应用程序类与窗口类之间,指针与句柄之间都是什么关系啊?
VC用应用程序类与窗口类之间,指针与句柄之间都是什么关系啊?

建一个简单的MFC对话框应用程序,会有一个对话框类,和一个应用程序类,还有一个应用程序类的实例theApp;那么这两个类之间是什么关系,他们之间是怎么配合工作的?

还有就是,MFC里面的参数,经常需要传句柄,这个句柄是什么?怎么获得这个句柄?



[解决办法]
指针就是一块内存的地址,通过它可以直接访问到该内存;

句柄也是对一块内存的访问入口,通过它也可以访问内存,但要通过别人封装好的库函数;有时候句柄就是一个指针,有时候可能是某个数组的索引值,要看具体实现了。


class AClass;
AClass obj;
typedef void *HANDLE;

AClass &getObj(HANDLE h) { return *(AClass *)h;}

HANDLE h = &obj; // getObj(h) 等价于obj


AClass *objs[] = { &obj1, &obj2 };
typedef int HANDLE;
AClass &getObj(HANDLE h) { return *objs[h]; }

HANDLE h = 0; // getObj(h) 得到 obj1

[解决办法]
引用:
VC用应用程序类与窗口类之间,指针与句柄之间都是什么关系啊?

建一个简单的MFC对话框应用程序,会有一个对话框类,和一个应用程序类,还有一个应用程序类的实例theApp;那么这两个类之间是什么关系,他们之间是怎么配合工作的?

还有就是,MFC里面的参数,经常需要传句柄,这个句柄是什么?怎么获得这个句柄?

一般你继承了的话,都会一个成员m_hWnd句柄,也就是窗口,指针同理
[解决办法]
你可以了解下MFC六大机制中的启动机制,theApp这个应用程序类的全局变量,是整个MFC工程的一个爆破点,一旦它被构造出来之后,系统会加载大量的库函数等一些信息到你的MFC程序中。 
[解决办法]
转发一个:
你朋友给你写信,他直接写你名字邮局是找不到你的,他就写出你家的门牌号,邮局通过门牌就能找到你了,那么门牌就是指针,而你本身就是指针指向的内存值. 你由于去砸110车窗户被关进局子(打比方呵呵,别打我~),和你一起的有老外,有外星人,大家名字都很长,很难记,监狱长为了方便,给每个犯人一个标号,比如你是0001,而另一个火星人是0002,那么以后监狱长碰到0001就知道是你了,不会去找火星人麻烦的.那么这个编号就是句柄,而你就是0001所代表的资源. 一个是指向,一个是代表,2个有很大的区别.代表的话,我用0001是代表,用abcdef还是代表,而门牌,就要按照规矩来,你不能用0003来代表XX街XX号的门牌 

热点排行