我和DELPHI不得不说的故事之------句柄

和DELPHI打交道也有段时间了,之前一直想着在网上多看些文章,多分析些代码就OK了。后来才发现如果不经过系统的学习是不会彻底了解DELPHI的。所以只能从最简单的学起了-------看书!今天要说的是句柄
         在看到键盘“KEYDOWN事件”一节时,发现如下一段代码:
         postmessage(edit1.handle,wm_keydown,65,0)  
         postmessage这个函数还算是好理解,向系统发送消息,不过函数中的handle就不太好理解了。
         在网上查了资料,知道了它是句柄,这个概念很是抽象啊。资料中好多提到了句柄无非是系统分配的一个整数型的ID号,这个ID号是唯一的,系统通过它来识别是身谁发号施令。我看了N遍还是不理解这句话的含义。
        再次搜索资料,终于在一个博客中找到了答案:句柄实际上是一个指针,由于WINDOWS采用了虚拟内存这种技术,导致在内存中的数据地址不是一成不变的是动态的,系统在内存中专门有一个区域是存储这些变化的地址的指针。句柄其实就是充当了这个角色,它是指向动态指针的指针。
         那么上面的这行代码就可以理解为:向系统(编译器)发送一个A键值按下的KEYDOWN事件,并将其传入EDIT1的句柄。系统根据该句柄来判断做什么操作,而对于什么KEYDOWN事件系统并不关心。
         这个是我自己的理解,还请大家指教!

你可能感兴趣的:(职场,Delphi,句柄,休闲)