就在StdCtrls.pas, ExtCtrls.pas和Buttons.pas三个类里研究就够了,这是初步的搜索结果:

  1. ---------- 在打开的文档中查找 ----------
  2. "G:\StdCtrls.pas"(,): TOwnerDrawState = Windows.TOwnerDrawState;
  3. "G:\StdCtrls.pas"(,): {$NODEFINE TOwnerDrawState}
  4. "G:\StdCtrls.pas"(,): Rect: TRect; State: TOwnerDrawState) of object;
  5. "G:\StdCtrls.pas"(,): TComboBoxStyle = (csDropDown, csSimple, csDropDownList, csOwnerDrawFixed,
  6. "G:\StdCtrls.pas"(,): csOwnerDrawVariable);
  7. "G:\StdCtrls.pas"(,): State: TOwnerDrawState); virtual;
  8. "G:\StdCtrls.pas"(,): TListBoxStyle = (lbStandard, lbOwnerDrawFixed, lbOwnerDrawVariable,
  9. "G:\StdCtrls.pas"(,): lbVirtual, lbVirtualOwnerDraw);
  10. "G:\StdCtrls.pas"(,): State: TOwnerDrawState); virtual;
  11. "G:\StdCtrls.pas"(,): State: TOwnerDrawState);
  12. "G:\StdCtrls.pas"(,): if FStyle in [csOwnerDrawFixed, csOwnerDrawVariable] then
  13. "G:\StdCtrls.pas"(,): CBS_DROPDOWNLIST or CBS_OWNERDRAWFIXED,
  14. "G:\StdCtrls.pas"(,): CBS_DROPDOWNLIST or CBS_OWNERDRAWVARIABLE);
  15. "G:\StdCtrls.pas"(,): State: TOwnerDrawState;
  16. "G:\StdCtrls.pas"(,): State := TOwnerDrawState(LongRec(itemState).Lo);
  17. "G:\StdCtrls.pas"(,): if FStyle = csOwnerDrawVariable then
  18. "G:\StdCtrls.pas"(,): if ListBox.Style in [lbVirtual, lbVirtualOwnerDraw] then
  19. "G:\StdCtrls.pas"(,): if ListBox.Style in [lbVirtual, lbVirtualOwnerDraw] then
  20. "G:\StdCtrls.pas"(,): if (Index <> -) and not (ListBox.Style in [lbVirtual, lbVirtualOwnerDraw]) then
  21. "G:\StdCtrls.pas"(,): if ListBox.Style in [lbVirtual, lbVirtualOwnerDraw] then exit;
  22. "G:\StdCtrls.pas"(,): if ListBox.Style in [lbVirtual, lbVirtualOwnerDraw] then exit;
  23. "G:\StdCtrls.pas"(,): if ListBox.Style in [lbVirtual, lbVirtualOwnerDraw] then exit;
  24. "G:\StdCtrls.pas"(,): if ListBox.Style in [lbVirtual, lbVirtualOwnerDraw] then
  25. "G:\StdCtrls.pas"(,): if ListBox.Style in [lbVirtual, lbVirtualOwnerDraw] then exit;
  26. "G:\StdCtrls.pas"(,): if Style in [lbVirtual, lbVirtualOwnerDraw] then exit;
  27. "G:\StdCtrls.pas"(,): if Style in [lbVirtual, lbVirtualOwnerDraw] then
  28. "G:\StdCtrls.pas"(,): if Style in [lbVirtual, lbVirtualOwnerDraw] then exit;
  29. "G:\StdCtrls.pas"(,): if Value in [lbVirtual, lbVirtualOwnerDraw] then
  30. "G:\StdCtrls.pas"(,): if Style in [lbVirtual, lbVirtualOwnerDraw] then
  31. "G:\StdCtrls.pas"(,): if Style in [lbVirtual, lbVirtualOwnerDraw] then
  32. "G:\StdCtrls.pas"(,): if Style in [lbVirtual, lbVirtualOwnerDraw] then
  33. "G:\StdCtrls.pas"(,): lbVirtualOwnerDraw: Style := lbOwnerDrawFixed;
  34. "G:\StdCtrls.pas"(,): (, LBS_OWNERDRAWFIXED, LBS_OWNERDRAWVARIABLE, LBS_OWNERDRAWFIXED,
  35. "G:\StdCtrls.pas"(,): LBS_OWNERDRAWFIXED);
  36. "G:\StdCtrls.pas"(,): Data[Self.Style in [lbVirtual, lbVirtualOwnerDraw]] or
  37. "G:\StdCtrls.pas"(,): if (Style in [lbVirtual, lbVirtualOwnerDraw]) then
  38. "G:\StdCtrls.pas"(,): if (Style in [lbVirtual, lbVirtualOwnerDraw]) then
  39. "G:\StdCtrls.pas"(,): State: TOwnerDrawState);
  40. "G:\StdCtrls.pas"(,): if (Style in [lbVirtual, lbVirtualOwnerDraw]) then
  41. "G:\StdCtrls.pas"(,): State: TOwnerDrawState;
  42. "G:\StdCtrls.pas"(,): State := TOwnerDrawState(LongRec(itemState).Lo);
  43. "G:\StdCtrls.pas"(,): if FStyle = lbOwnerDrawVariable then
  44. "G:\StdCtrls.pas"(,): if Style in [lbVirtual, lbVirtualOwnerDraw] then
  45. "G:\StdCtrls.pas"(,): if Style in [lbVirtual, lbVirtualOwnerDraw] then
  46. "G:\ExtCtrls.pas"(,): procedure DrawItem(Index: Integer; Rect: TRect; State: TOwnerDrawState); override;
  47. "G:\ExtCtrls.pas"(,): inherited Style := csOwnerDrawFixed;
  48. "G:\ExtCtrls.pas"(,): State: TOwnerDrawState);
  49. "G:\Buttons.pas"(,): with Params do Style := Style or BS_OWNERDRAW;
  50. 共找到 处。
  51. 输出完成 (耗时: 秒)

有空研究一下OwnerDraw和三种Windows风格CS_OWNDC和CS_PARENTDC和CS_CLASSDC的更多相关文章

  1. 一个Java应用,三种字体风格(Java, Windows, Mac),真是蛋疼

    大家看看下面这张图,红色圈起来的是Java难看至极的字体渲染,黄色圈起来的是正常的Windows渲染,绿色是Mac风格的渲染. 其实我感觉正常风格就挺好的,就是看那个Java的Swing菜单,非常不顺 ...

  2. Aurora 8B/10B、PCIe 2.0、SRIO 2.0三种协议比较

    在高性能雷达信号处理机研制中,高速串行总线正逐步取代并行总线.业界广泛使用的Xilinx公司Virtex-6系列FPGA支持多种高速串行通信协议,本文针对其中较为常用的Aurora 8B/10B和PC ...

  3. Spring IOC 中三种注入方式

    项目错误知识点记录 正文 最近在项目的时候,用到Spring框架,Spring框架提供了一种IOC的自动注入功能,可以很轻松的帮助我们创建一个Bean,这样就省的我们四处写new Object()这样 ...

  4. Java开发学习(四)----bean的三种实例化方式

    一.环境准备 准备开发环境 创建一个Maven项目 pom.xml添加依赖 resources下添加spring的配置文件applicationContext.xml 最终项目的结构如下:    二. ...

  5. Windows 记事本的 ANSI、Unicode、UTF-8 这三种编码模式有什么区别?

    [梁海的回答(99票)]: 简答.一些细节暂无精力查证,如果说错了还请指出. 一句话建议:涉及兼容性考量时,不要用记事本,用专业的文本编辑器保存为不带 BOM 的UTF-8. * * * 如果是为了跨 ...

  6. Java程序员的现代RPC指南(Windows版预编译好的Protoc支持C++,Java,Python三种最常用的语言,Thrift则支持几乎主流的各种语言)

    Java程序员的现代RPC指南 1.前言 1.1 RPC框架简介 最早接触RPC还是初学Java时,直接用Socket API传东西好麻烦.于是发现了JDK直接支持的RMI,然后就用得不亦乐乎,各种大 ...

  7. Kendall’s tau-b,pearson、spearman三种相关性的区别(有空整理信息检索评价指标)

    同样可参考: http://blog.csdn.net/wsywl/article/details/5889419 http://wenku.baidu.com/link?url=pEBtVQFzTx ...

  8. [Linux]三种方案在Windows系统下安装ubuntu双系统(转)

    在学习linux的过程中,ubuntu无疑是初学者的最佳选择. 下面来列举给Windows系统安装ubuntu双系统的三种方法. 一.虚拟机安装(不推荐) 使用工具:Vmware 如果不是因为迫不得已 ...

  9. Qt在Windows下的三种编程环境搭建

    尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/17363165 从QT官网可以得知其支持的平台.编译器 ...

随机推荐

  1. Linux上传下载文件命令

    转载自http://lupingui.iteye.com/blog/239694 linux系统下可以直接从客户端上传文件到服务器端,命令格式: [plain] view plaincopy scp  ...

  2. hdu4704之费马小定理+整数快速幂

    Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Subm ...

  3. Android学习笔记之View(一):LayoutInflater

    使用LayoutInflater加载布局的两种方式: 第一种: LayoutInflater inflater=LayoutInflater.from(context); inflater.infla ...

  4. C++多态原理

    C++的多态性是通过动态绑定实现的 非虚函数是在编译时绑定的; 通过对象进行的函数(虚函数,非虚函数)也是编译时绑定的; C++编译器在编译的时候,要确定每个对象调用的函数(要求此函数是非虚函数)的地 ...

  5. 以libevent网络库为引:网络通信和多线程

    1. windows下编译及使用libevent  http://www.cnblogs.com/luxiaoxun/p/3603399.html 2.  <<libevent学习资料&g ...

  6. BZOJ 3163: [Heoi2013]Eden的新背包问题( 背包dp )

    从左到右, 从右到左分别dp一次, 然后就可以回答询问了. ---------------------------------------------------------- #include< ...

  7. IntelliJ IDEA 开发swing(一)

    原文:idea开发swing(一) 最近项目组需要开发一个swing小工具,以下是开发过程. 一.创建工程: 输入工程名称,选择java module,点击next 接下来什么都不选点击finish, ...

  8. Swift - 使用UI Dynamics给UIKit组件添加移动吸附行为

    UI Dynamics是UIKit的一个新组成部分,它向iOS中的视图提供了与物理学有关的功能和动画.可以让你向视图中引入力和物理属性,可以让你的视图弹跳,舞动,受重力影响等等. 下面通过样例,演示使 ...

  9. C陷阱与缺陷代码分析之第2章语法陷阱

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 陷阱1 理解函数声明 作者提出一个问题:有一个首地址为0的函数,该函数返回值类型为void,没有参数.怎样用C语言的 ...

  10. JavaScript实现复制功能

    这两天在做Web前端时,遇到需求通过 js 实现文本复制的功能. 先不考虑浏览器的兼容性,看看各浏览器对复制功能的支持情况: 1.IE浏览器 ,解决方法有三种,代码如下: function copy( ...