最近评论
正在载入评论列表...
![]() |
![]() |
GetWindowText函数远比你想象的要复杂。
在GetWindowText函数帮助文档中试图通过简短的文字来解释这个函数的复杂性,如果你无法理解一些长篇大论的文字,那么这种做法无疑是很好的,但简短的文字同样意味着整个内容会变得有些晦涩难懂。
下面,我们就来讲述GetWindowText函数的完整内容。
3.1窗口如何来管理文本
在窗口类中可以通过两种方法来管理文本:既可以让窗口自己进行管理,也可以让系统进行管理。默认的情况是由系统进行管理。
如果窗口类让系统来管理文本,那么系统会进行以下这些工作:
·对WM_NCCREATE消息进行默认的处理:将传递给CreateWindow/Ex函数的参数lpWindowName提取出来,并将这个字符串保存在某个“特殊的位置”。
·对WM_GETTEXT消息进行默认的处理:从“特殊的位置”上提取字符串。
·对WM_SETTEXT消息进行默认的处理:将字符串复制到“特殊的位置”。
如果是由窗口类自己来管理窗口中的文本,那么系统将不会做任何特殊的处理,而是由窗口类来负责响应WM_GETTEXT/WM_SETTEXT消息,并且直接返回/保存字符串。
框架窗口(Frame Windows)通常是由系统来管理窗口中的文本,而自定义控件(Custom control)通常是由它们自己来管理窗口中的文本。