⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_51395.htm

📁 vc
💻 HTM
字号:
<p>
序号:51395 发表者:胡涛 发表日期:2003-09-01 10:57:44
<br>主题:请大家参与关于句柄和指针的讨论
<br>内容:一直以起来,初学vc的人对句柄和指针的学习一直是一个难点,我知道句柄是一个标示,其实现是一个指针的指针,但我想知道在mfc中:<BR>1,什么时候用指针,什么时候用句柄,比如一个对话框。<BR><BR>2,指针到句柄的转换可以用 GetSafewnd()等函数,但大家能不能把常用的指针到句柄的转换函数写出来,给大家提供一个方便<BR><BR>3,句柄到指针的转换如何转换呢?<BR><BR>4,句柄如何使用?比如我得到了一个对话框的句柄,能够使用句柄调用对话框类的成员函数?<BR><BR>暂时想到这么多,希望大家不要怕麻烦,嫌简单,这是后人乘凉的好事啊,bow/!
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:木一 回复日期:2003-09-01 11:04:22
<br>内容:句柄实际上是一种指向某种资源的指针,但与指针又有所不同。<BR>“句柄”(handle),handle的本意是把柄,把手的意思。是你与操作系统打交道的东东。举个通俗的例子,比如你考上了大学,入学后,学校(操作系统)会给你一个学生证号。注意,这个号码是学校指定的,你无法自选。有了这个号码(学生证,假设一证多用)就可以享受学校提供的服务:如你就可以去图书馆借书,去食堂吃饭,去教室上课等等。但你不能到食堂里买啤酒,因为学校不允许这种服务。而在计算机中系统提供的服务就是API调用,你有了HANDLE,就可以理直气壮地向系统提出调用API的服务。而指针的权力就大多了,有了指针你可以到处去喝酒,打架,学校(操作系统)管不着,所以句柄和指针的区别在于句柄只能调用系统提供的服务。而句柄虽然是一个能相互区别的号码,但与我们普通的ID号又有区别,普通的ID号是可以由程序员自己定义的,而句柄不行,它是对象生成时系统指定的,是为了区别系统中存在的各个对象,这个句柄不是由程序员符给的。实际应用中,最常用的就是文件句柄和窗口句柄。例如,窗口句柄的值是一个长整数,每个窗体都用一个句柄来表示。所以句柄是不会重复的,很多的函数都会用到窗体的句柄。<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:胡涛 回复日期:2003-09-01 16:19:52
<br>内容:那句柄和指针之间的互相转换怎么办呢?<BR>这个是最头大的!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:goldenfaith 回复日期:2003-09-01 21:07:56
<br>内容:up
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:夜未眠 回复日期:2003-09-01 23:42:13
<br>内容:木一说得其实很清楚了。<BR><BR>句柄就是给系统用的,指针才是给我们用的。<BR><BR>不要混为一谈,自寻烦恼,想简单一些.<BR><BR>该用谁时就用谁,怎么用?请一定要多看MSDN!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:爱丽思 回复日期:2003-09-01 23:44:46
<br>内容:在MFC中用句柄的机会不是很多的,因为很多都封装起来了<BR>指针是最基础的东西啦
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:胡涛 回复日期:2003-09-02 09:25:44
<br>内容:那mfc,win32里常用的句柄都有什么呢?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:totoro 回复日期:2003-09-02 13:15:58
<br>内容:本来想说两句,看到木一已经说的很清楚了
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:胡涛 回复日期:2003-09-09 13:52:41
<br>内容:谢谢各位的回答,尤其谢谢木一
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -