Window SubClassing另类运用(之二)[4]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 weizhisheng 的 blog

end;


 


其中,oldbrowseproc是在implementation部分声明的变量:


var


  oldbrowseproc : twindowproc = nil;


 


newbrowseprocadjustdlg都是自己编写的函数,它们都比较长,我将分段讲述它们的内容。


 


先来看adjustdlg的工作。它的任务是向对话框中添加一个组合框(combo box),并且向其中添加几个项目。听起来很简单,不过有许多琐碎的工作必须要做。因为我们是在对系统定义的窗口进行subclass,所以vcl在这里基本上帮不上什么忙:我们必须大量使用api


procedure adjustdlg(awnd:hwnd);


var


  wnd : hwnd;


  wndcombo : hwnd;


  rc : trect;


  found : boolean;


  classname : array[0..80] of char;


  saverect : trect;


  oldstyle : integer;


begin


  // find the treeview first


  wnd := getwindow(awnd, gw_child);


  found := false;


  while iswindow(wnd) do begin


本文关键:Delphi,API,Subclass
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top