delphi中句柄的概念?(0分)

  • 主题发起人 主题发起人 笑天宇
  • 开始时间 开始时间

笑天宇

Unregistered / Unconfirmed
GUEST, unregistred user!
各位高手能否以例子的形式给俺讲讲句柄的概念,我想这是从一个质的飞跃,从<br>delphi中手到高手:),哪儿有关于句柄的资料?
 
句柄就是系统为维护对象给一些对象分配的标示
 
能不能举些例子
 
搜索一下说过多次了。
 
句柄(handle)是一个数(通常为32位),它代表一个对象.windows中的句柄类似传统C或者DOS程序设计<br>中使用的文件句柄.程序几乎总是通过调用Windows函数获取句柄.程序在其他Windows函数中<br>使用这个句柄,以引用它代表的对象.句柄的实际值对程序来说是无关紧要的.但是,向你的程<br>序提供句柄的windows模块知道如何使用它来引用相应的对象.<br>handle的本意是把柄,把手的意思。是你与操作系统打交道的东东。<br>举个通俗的例子,比如你考上了大学,入学后,学校(操作系统)会给你一个学生<br>证号。注意,这个号码是学校指定的,你无法自选。有了这个号码(学生证,假设一证多用)<br>享受学校提供的服务:如你就可以去图书馆借书,去食堂吃饭,去教室上课等等。但你不能<br>到食堂里买啤酒,因为学校不允许这种服务。而在计算机中系统提供的服务就是API调用,<br>你有了HANDLE,就可以理直气壮地向系统提出调用API的服务。<br>
 
原来如此。
 
windows定义了12种句柄类型,它们分别是:<br>HWND<br>HINSTANCE<br>HRGN<br>HANDLE<br>HICON<br>HCURSOR<br>HFONT<br>HGDIOBJ<br>HBITMAP<br>HPEN<br>HBRUSH<br>HPALETE<br>一个唯一的句柄代表windows中一个唯一的对像。通过句柄可以实现对对象的控制。<br>打个比方,如果我们知道窗口的句柄为整数22,我们可以通过这个为整数22的句柄<br>来设置window的标题:<br>const windowHwnd=22;<br>SetWindowText(windowHwnd,'这是通过句柄的方式来改变的标题');<br><br><br><br>其它这12种类型都等于integer类型,例如在C中可用hpen类型作为类型标识符,而在<br>Delphi中却不能用hpen作为类型标识符,那么我们就可以用integer类型来代替hpen.<br>
 
To 小唐<br><br>好人啊。。。。。。。。<br><br>学习中~<br>
 
别这么讲呀,我也是一个API的初学者而已呀。<br>我想我们应该共同进步。
 
后退
顶部