InitCommonControls()

来源:互联网 发布:安卓侧滑栏源码 编辑:程序博客网 时间:2024/05/21 13:44
WIN95相对于WIN3X有几个加强的用户界面控件。其实在WIN95正式发行前这些控件就在使用,譬如:状态条、工具条等。以前程序员要自己去编程使用它们,现在微软已经把它们包含到了WIN9X和WINNT中了。    
  Toolbar   ---工具条    
  Tooltip   ---提示文本    
  Status   bar   ---状态条    
  Property   sheet   ---属性页单    
  Property   page   ---属性页    
  Tree   view   ---树型视图    
  List   view   ---列表视图    
  Animation   ---动画    
  Drag   list   ---能够处理Drag-Drop的列表框    
  Header   ---    
  Hot-key   ---热键    
  Image   list   ---图象链表    
  Progress   bar   ---进程状态条    
  Right   edit   ---    
  Tab   ---跳格表    
  Trackbar   ---跟踪条    
  Up-down   ---滚动条    
  因为通用控件的数量非常多,把它们全部装入内存并注册它们是非常浪费内存的。除了“RTF文本编辑”控件外其他控件的可执行代码都放在comctl32.dll中,这样其他的应用程序就可以使用它们了。“RTF文本编辑”控件在richedXX.dll中,由于该控件非常的复杂,所以也比其它控件大。    
  要加载comctl32.dll可以在您的应用程序中调用函数InitCommonControls。InitCommonControls函数是动态链接库comctl32.dll中的一个函数,只要在您的程序中的任意地方引用了该函数就、会使得WINDOWS的程序加载器PE   Loader加载该库。函数InitCommonControls其实只有一条指令“ret”,它的唯一目的是为了使得在调用了个该函数的应用程序的可执行文件的PE头中的“引入”段中包含有comctl32.dll,这样无论什么时候该应用程序都会为您加载该库。所以真正初始化的工作是在该库的入口点处做的,在这里会注册所有的通用控件类,然后所有的通用控件就可以在这些类上进行创建,这就象创建其它的子窗口控件一样。  
原创粉丝点击