请输入您要查询的百科知识:

 

词条 视窗子类别化
释义

卷动列控制项的视窗讯息处理程式是Windows内部的。但是,将GWL_WNDPROC识别字作为参数来呼叫GetWindowLong,您就可以得到这个视窗讯息处理程式的位址。另外,您可以呼叫SetWindowLong给该卷动列设定一个新的视窗讯息处理程式,这个技术叫做“视窗子类别化”,非常有用。它能让您给现存的视窗讯息处理程式设定“挂勾”,以便在自己的程式中处理一些讯息,同时将其他所有讯息传递给旧的视窗讯息处理程式。

在COLORS1中对卷动讯息进行初步处理的视窗讯息处理程式叫做ScrollProc,它在COLORS1.C档案的尾部。由于ScrollProc是COLORS1中的函式,而Windows将呼叫COLORS1,所以ScrollProc必须被定义为callback函式。

对三个卷动列中的每一个,COLORS1使用SetWindowLong来设定新的卷动列视窗讯息处理程式的位址,并取得现存卷动列视窗讯息处理程式的位址:

OldScroll= (WNDPROC) SetWindowLong (hwndScroll, GWL_WNDPROC,

(LONG) ScrollProc)) ;

现在,函式ScrollProc得到了Windows发送到COLORS1中三个卷动列(当然不是其他程式中的卷动列)的卷动列视窗讯息处理程式的全部讯息。ScrollProc视窗讯息处理程式在接收到Tab或者Shift-Tab键时,就将输入焦点改变到下一个(或者上一个)卷动列。它使用CallWindowProc呼叫旧的卷动列视窗讯息处理程式。

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/1/30 13:44:15