当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 时常想,如果一个组件能够按自己想要的外观显示,那该是件多么COOL的事啊,这一篇就要来做一个精美外观的组件,但是,做什么好呢.Button?高手突破>有关于自己定义外观的Button,以及CheckBox等的做法,Button从CustomPanel继承,重载Paint方法来画外观.如果...
 

 

 ·组件制作之五(托盘组件)    »显示摘要«
    摘要: 这将是最后一个组件了,目标定为非可视化,事实上非可视化组件要比可视化组件难做,因为是从tcomponent继承而来,就没有了很多属性和事件。而这些都要我们从头来做过。这个非可视化组件,我决定为托盘组件,其中用到的技术较多,我不如列一个表出来,然后再来讲解好一点。另外,可能篇幅会多一些,请耐心看。用到的技术:1作为核心功能,当然是托盘的应用啦。2?托盘组件怎么样影响到主窗口最小化时隐藏3?托盘如何......
 ·delphi的编码规范    »显示摘要«
    摘要: 1.规范简介 本规范主要规定delphi源程序在书写过程中所应遵循的规则及注意事项。编写该规范的目的是使公司软件开发人员的源代码书写习惯保持一致。这样做可以使每一个组员都可以理解其它组员的代码,以便于源代码的二次开发记忆系统的维护。 2.单元的格式 2.1 基本要求 2.1.1 缩进 缩进就是在当源程序的级改变时为增加可读性而露出的两个空格。缩进的规则为每一级缩进两个空格。......


组件制作之四(定制外观)
上一页   ...边距设置

【程序编程相关:插件管理框架 for Delphi(二)

【推荐阅读:简易对象垃圾回收框架 for Delph

property margin:byte read fmargin write setmargin default 0; 【扩展信息:建立、读取、存贮INI文件的方法《一》

其中setmargin函数中发送了两个消息:

//该消息取得输入区的尺寸

sendmessage(handle, em_getrect, 0, longint(@rect));

//该消息设定输入区的大小

sendmessage(handle, em_setrect, 0, longint(@rect));

 

光标的位置:

property position:tposition read getposition;

tpostion是一个结构,其中有行与列两个值:

tposition=record  //指定光标的行与列

     row:longint;

     col:longint;

   end;

getposition;中还要处理中文的问题,代码有详细说明,如果文本中有中文,一样也可以得到正确的行与列.

 

最后增加了两个事件

property onenter;

property onexit;

都是从父类中显化出来的,其实就是cm_mouseenter与cm_mouseleave;消息引起的.,当你想作一个三态按钮,这两个事件很有作用.

 

好了,重点就是上面那几个了,以下是源代码,其中也有详细的说明:

 

unit coolmemo;

 

interface

 

uses

   windows, messages, classes, forms,controls, graphics, stdctrls;

 

type

    //用设定边缘的空白

   tposition=record  //指定光标的行与列

     row:longint;

     col:longint;

   end;

   tcoolmemo=class(tcustommemo)

   private

     fmargin:byte;  //边距的大小

     fedgecolor:tcolor;//边框的颜色

     fentercolor:tcolor;//鼠标进入时边框内侧的框颜色


...   下一页
 ·利用delphi中的画布画树    »显示摘要«
    摘要: 一直都听说delphi中画布使用简单方便。现在我就利用画布实现一个简单的树机构的图形表示。系统支持节点选择、移动、保存树、打开树等。为了实现的方便用到了递归与指针,虽然效率有点问题但是在快速解决问题还是蛮好的。 程序写的比较乱,欢迎交流:sss@pacia.com.cn 源代码如下: unit u_tree; interface uses windows, messages, ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE