[4]控件句柄是干什么用的?
RT 问题点数:20、回复次数:9Top
1 楼saucer(思归)回复于 2002-12-31 08:34:07 得分 20
handle is an IntPtr that contains the window handle (HWND) of the control, mostly used to interoperate with win32 APITop
2 楼seakingii(seaking2)回复于 2002-12-31 08:38:58 得分 0
跟窗口句柄本质是一样的吗?
另外WINDOWS是根据“句柄“这个东西来控制这些UI单元?Top
3 楼saucer(思归)回复于 2002-12-31 08:43:07 得分 0
>>>跟窗口句柄本质是一样的吗?
yes
>>>WINDOWS是根据“句柄“这个东西来控制这些UI单元?
yes, a window handle is a transparent pointer to some internal structure used by the operating system to manage the controlTop
4 楼seakingii(seaking2)回复于 2002-12-31 08:46:46 得分 0
pointer是指针的意思吗?
有这方面的源代码?关于WINDOWS OS 操作句柄的Top
5 楼saucer(思归)回复于 2002-12-31 08:53:22 得分 0
suggest you read the book (the old edition's name is Advanced Windows)
Programming Applications for Microsoft Windows
by Jeffrey Richter
Publisher: Microsoft Press; ISBN: 1572319968; Bk&Cd Rom edition (September 1999)
Top
6 楼seakingii(seaking2)回复于 2002-12-31 08:55:16 得分 0
谢谢你的建议,如果我有这个水平我一定会去看 :)Top
7 楼Lostinet(Hello)回复于 2002-12-31 09:11:14 得分 0
句柄这个翻译也是烂..~~
当初学这个时也是想不过来。.
(先在学精了,我凡是看到这些翻译过来的名词,我都不会从中文意思去想它的。.我当它是术语0712(:)举例而已)好了。.)
句柄的英文是Handle(这是后话了。我以前英文还很烂的时候,啃着那本win3.2编程
(那时win98都出来了,可是没有钱买书。那本书是检的:)
(连英文书都没有看过)
就看那整篇的句柄....(哎,想想,那时也没有论坛啊。.痛苦)
其实Handle的原理就是指向某些数据的指针。.
(在win3.2时代,指向的可是真正的内存哦。.在win95以后,变成了虚拟内存)
(到了dotNet后,我不知道指去哪里了。..不过既然要和COM兼容,我想还是指向虚拟内存的)
(不过dotNet的
但是Handle并不是肯定是某个对象或者结构的初始地址。..
也就是说。.(下面的针对windows资源。.例如window,icon,brush等。.)
假设下面定义window的handle,
WindowStruct ws=new WindowStruct();
它不会直接把ws传出来当作handle的。.
那时内存分配还不成熟,往往是(我想的。.)
byte* bs=(byte*)ws;
return bs+4;//1,2,3,4,..x?
它返回的是另外一个地址。(前面"几个"包含了这块内存的信息..我不是说new啊,那是黄雀在后)
这就告诉你,如果你想用delete来释放handle,那会引发异常(没有实验过)
所以这是为什么有CloseHandle这样的函数。
(win3.2应该是这样的,所以win9x也是这样的。其他的windows是不是这样不清楚)
好了。.上面的话对这个TOPIC没有用处。只是提醒一下而已。好让你以后想起来找东西容易点。
总之,
不考虑深入的话,"句柄"(MS ABC没有这个词)做什么的可以不管了。
反正需要传递的时候,传递适合的过去就好了。
Top
8 楼Lostinet(Hello)回复于 2002-12-31 09:11:35 得分 0
倒..我打了这么多,这么快结啊???Top
9 楼seakingii(seaking2)回复于 2002-12-31 09:21:25 得分 0
SORRY,要不我开个贴给你加分
还有,你打字好快啊Top



