myamanda

博客园 首页 新随笔 联系 订阅 管理

2009年7月22日 #

摘要: 1. 建立一个窗体2. 放一个ComboBox和Listbox3. 改变Component的Style为csOwnerDrawVariable和ListBox的Style为lbOwnerDrawVariable。4. 声明5个TBitmap的全局变量5. 覆盖Form的OnCreate.6. 覆盖ComboBox的OnDraw.7. 覆盖ComboBox的OnMeasureItem.8. 释... 阅读全文
posted @ 2009-07-22 17:10 myamanda 阅读(216) 评论(0) 推荐(0)

摘要: 不知大家是否见过一种按钮,当它被按下的时侯,它所执行的功能(如向上或向下)就持续执行,当松开时,就停止,其实滚动棒两边的按钮就是这样的。下面我们来做个按钮元件,让它也有这样的功能。在我们做元件之前,让我们了解一下它的原理,要想实现这个功能,我们可以做一个定时器,把触发一次的代码写在定时器的触发代码里面,其实我们要实现的功能很简单,就是让一个按钮按下时,EDIT1里面的数字就一直加一,当松开时就停止... 阅读全文
posted @ 2009-07-22 17:09 myamanda 阅读(180) 评论(0) 推荐(0)

摘要: 我们用了两个Listbox构件,Listbox1按一般情况显示,Listbox2显示的每一项都可以有自己的字体、大小、颜色。 ---- 首先把Listbox2的style属性改为lbOwnerDrawVariable。然后分别编写它的OnDrawItem事件和OnDrawItem事件。下面就是Listbox2 的OnDrawItem事件和OnDrawItem事件的代码: procedure ... 阅读全文
posted @ 2009-07-22 17:08 myamanda 阅读(200) 评论(0) 推荐(0)

摘要: Delphi为每个可视构件(而非快速按钮专属)都提供了Hint及ShowHint特性,其中Hint属性指定文本提示盒中的文本, 而ShowHint属性则决定鼠标指向构件时是否显示文本提示盒,当ShowHint值为True时,显示文本提示盒。用户可在对象监视器(ObjectInspector)的属性栏中设置或在程序中修改Hint 及ShowHint属性。除此之外,Delphi还在类TApplica... 阅读全文
posted @ 2009-07-22 17:07 myamanda 阅读(220) 评论(0) 推荐(0)

摘要: ---- 一. 方案 ---- 自做一个父类为TEdit的控件,应该有一个Text属性,能自由地输入要动态显示的内容; 并且有一个MoveShow方法,使的Text的内容能动态的显示。在主程序中创建一个线程,启动线程时,调用该控件的MoveShow方法。 ---- 二. 制作控件 ---- 启动New Component,选Tedit为父类,建立L_Tedit1类,并创建L_edit.p... 阅读全文
posted @ 2009-07-22 17:06 myamanda 阅读(397) 评论(0) 推荐(0)

摘要: TApplication类是用于描述Delphi编制的应用程序的一个类。通过对这个类的灵活应用可以编制许多有特点的程序。下面我 们就举几个这方面的例子。 ----1检测当前Windows程序是否被激活: ----Tapplication类有一个属性——Active,这个属性就可以描述当前运行的程序是否被激活,成为Windows的焦点。检测的代码如下: IfApplic... 阅读全文
posted @ 2009-07-22 17:06 myamanda 阅读(152) 评论(0) 推荐(0)

2009年7月21日 #

摘要: 一、自定义颜色对话框的实现----在Delphi中,我们可以使用TComboBox实现类似的功能。在TcomboBox构件中有一个Style属性,决定TcomboBox的显示属性。通常可选取csDropDown,csSimple,csDropDownList,csOwnerDrawFixed,csOwnerDrawVariable等。其中当选取csOwnerDrawFixed时表示创建一个自画下拉... 阅读全文
posted @ 2009-07-21 16:43 myamanda 阅读(579) 评论(0) 推荐(0)

摘要: 树节点信息的存储和加载 常用的方法是用树控件的 LoadFromFile和SavetoFile方法,来实现树控件和文件之间的交互;或用Assign方法实现树控件和DBMemo,也就是和数据库间的交互。该方法的优点是编程相对简单,缺点是树控件的实际节点数可能会很大,对于“大树”,每次加载和存储的数据量会加大,将降低速度,增大系统开销,造成数据冗余。另一种方法,就是只在树上产生“看得见”的节点... 阅读全文
posted @ 2009-07-21 16:42 myamanda 阅读(387) 评论(0) 推荐(0)

摘要: 一、表结构 首先建立如下结构的数据表Code.DB,并输入一些测试数据 其中,科目代码aCode的数据类型一定要字符型(一定),长度按具体要求而定,假如要支持六级编码,且代码结构是"3-2-2-2-2-2",则该字段的长度不小于18,而其他字段则不作要求 。另外,要为字段aCode建一索引(切记),因为要用它来排序。 二、编写程序 1. 新建一Project:CodeTree.drp,主窗体命名为... 阅读全文
posted @ 2009-07-21 16:41 myamanda 阅读(232) 评论(0) 推荐(0)

摘要: 1、 Taborder Tabstop: 这组表识号本来是用来表示组件的按键顺序以及在该组件上是否停留的标识号。但是如果在某些时候稍微重视一下的话,将会事半功倍。下面略举一例:桌面上有几个编辑框,用户希望按回车键、上下方向键而不是TAB在其间来回游动。 > 属性及相关值:MainFrame: KeyPreview = TrueEdit_Name :TabOrder = 0;Edit_Ag... 阅读全文
posted @ 2009-07-21 16:39 myamanda 阅读(154) 评论(0) 推荐(0)