首页 相关文章 利用Delphi中的画布画树

利用Delphi中的画布画树

   一直都听说delphi中画布使用简单方便。现在我就利用画布实现一个简单的树机构的图形表示。系统支持节点选择、移动、保存树、打开树等。为了实现的方便用到了递归与指针,虽然效率有点问题但是在快速解决问题还是蛮好的。

   程序写的比较乱,欢迎交流:sss@pacia.com.cn

   源代码如下:

   unit U_Tree;

  interface

  uses
   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
   ExtCtrls, StdCtrls, jpeg, Menus,IniFiles32;

  [ 查看全文 ]

2016-02-19 标签:
  • 标签:Delphi
    第一步:根据需要,用FrontPage或者Dreamweaver做一个界面,界面加上图片,还可加上漂亮的动态Flash。Web界面与程序事件联系在一起的地方就是“超链接”,我们以一个简单的播放器程序为例。 比如:要做一个播放器,有“播放”按钮和“停止”按钮,分别设置“播放”按钮的链接为“Play_”;“停止”按钮的超链接为“Stop_”。并保存这个网页文件为“WebFrm.htm”。 第二步:在Delphi中新建一个Proj...[ 查看全文 ]
  • 标签:Delphi
      Delphi中向TDBGrid添加组件是一件十分麻烦的事情。笔者在这里向大家介绍一种利用WIN32 API函数在TDBGRID中嵌入CHECKBOX组件的方法。 TDBGrid部件是用于显示和编辑数据库表中记录信息的重要部件,它是我们在程序设计过程中要经常使用的一个强有力的工具。TDBGrid具有很多重要的属性,我们可以在程序设计阶段和程序运行过程中进行设置。TDBGrid部件中有很多重要的属性,我们在这里重点介...[ 查看全文 ]
  • 标签:Delphi
      Delphi作为一种面向对象的可视化开发工具,以其开发程序的高速度和编译代码的高效率越来越受到广大编程人员的喜爱。尽管Delphi已经提供了非常强大的开发组件(VCL),但灵活使用API函数一定可以使你的程序增色不少。 状态键的检查 当今不少流行软件的编辑窗口(包括Delphi的代码编辑窗口)的底部都有一个状态条用来显示一些状态信息,比如当前光标的位置等。通常键盘的状态键...[ 查看全文 ]
  • 近日在帮一个好朋友写一个数据库开发模块时遇到了数据批处理的问题. 思考了一些数据批处理的开发方法,不敢独享特总结与大家分享. 在 数 据 库 应 用 系 统 中, 常 常 要 对 数 据 进 行 成 批 的 如 追 加、 删 除、 更 改 等 操 作, 这 种 批 量 操 作 在 专 门 的 数 据 库 开 发 工 具 如VFP 中 用APPEND 、COPY 命 令 带 上 相 应 的 命 令 子 句就 能 轻 易 完 成。 但 在 其 它 开...[ 查看全文 ]
  • 标签:Delphi
      一、如何得知当前行号 用RichEdit(或者memo)控件制作文本编辑器时,通过访问linescount属性可以得到总行数,但是若想知道光标当前所在行的行号就麻烦了,因为delphi没有提供这个属性。要实现这个编辑器必备功能,就须调用em_ LineFromChar。请试试下面的程序。 先在窗口中布置一个RichEdit或者memo(命名为editor),以及一个button。在button的onclick事件中写入下列代码。 var...[ 查看全文 ]
  • //根据字符串,拆分字符串,相当于vb中的split函数 function SplitString(const Source,ch:string):TStringList; var   temp:String;   i:Integer; begin   Result:=TStringList.Create;   //如果是空自符串则返回空列表   if Source=''   then exit;   temp:=Source;   i:=pos(ch,Source);   wh...[ 查看全文 ]
  • 我们来看一下上图中的这个苹果印花的购物袋,感觉很帅吧?呵呵,如果把苹果咬上一口的话,就变成apple购物袋了呢! 其实在我们的生活中,还有很多纹理非常漂亮的物品,比如树叶等,等着我们去发现它的美,并将它变成一幅幅美丽的拓印画,为我们的生活增添精彩与美丽。 [ 查看全文 ]
  • 标签:Delphi
    ClientSocket组件为客户端组件。它是通信的请求方,也就是说,它是主动地与服务器端建立连接。 ServerSocket组件为服务器端组件。它是通信的响应方,也就是说,它的动作是监听以及被动接受客户端的连接请求,并对请求进行回复。 ServerSocket组件可以同时接受一个或多个ClientSocket组件的连接请求,并与每个ClientSocket组件建立单独的连接,进行单独的通信。因此,一个服务器端可以为多...[ 查看全文 ]
  • 标签:Delphi
      ---- Delphi是一种面向对象的编程语言,由于它采用完全集成OOP的优点,因此使它成为目前十分流行的Windows开发工具。在Delphi包含的众多类中,TApplication是一个有着十分重要作用的类。TApplication类是用于描述Delphi编制的应用程序的一个类。通过对这个类的灵活应用可以编制许多有特点的程序。下面我们就举几个这方面的例子。  ---- 1 检测当前Windows程序是否被激活:&n...[ 查看全文 ]
  • 1.DELPHI中操作ACCESS数据库(建立.mdb文件,压缩数据库)  以下代码在WIN2K,D6,MDAC2.6下测试通过,  编译好的程序在WIN98第二版无ACCESS环境下运行成功. //在之前uses ComObj,ActiveX //声明连接字符串 Const SConnectionString = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;' +'Jet OLEDB:Database Password=%s;'; //============================================================...[ 查看全文 ]
  • 标签:Delphi
      一、Owner和Parent的区别: Parent属性是指构件的包容器,构件只能在此范围内显示和移动。举例子如下: (1)在Form1的窗体上,放一个Panel1,并将Panel1拉大, (2)在Panel1上放一Button1; (3)在Form1上放一Button2。 现在如果移动Panel1,则Button1随着Panel1移动,这是因为Button1的Parent是Panel1。现在将Button2移到Panel1上,再次移动Panel1,Button2并不跟着移动,...[ 查看全文 ]
  • 标签:Delphi
      接发E-mail是许多“网虫”必修的功课,E-mail工具软件也很多,国外 的有Microsoft的OutlookExpress、TheBat等,国内则有FoxMail这样的精品。 其实,利用可视化编程工具Delphi4.0也能够制作出自己的E-mail软件。 Delphi4.0有关E-mail的组件有两个:NmPOP3和NmSTMP,它们都位于Internet 选项卡上,其中,NmPOP3组件封装并实现POP3协议,用来从InternetPOP3服务 器上读取电子邮件;NmSTMP封...[ 查看全文 ]
  • 标签:Delphi
      ----Windows95是Microsoft公司的第一个真正的多任务操作系统。在每一时刻可以有多个进程同时工作,而每一个进程又包含有多个线程。但只有一个处理器的计算机不可能真正地“同时”执行多个线程,而是操作系统把时间分成若干个时间片,然后把一个个时间片分配给每一个线程。 ----一个执行了的程序就是一个进程,一个进程则至少有一个主线程。一位高级程序员,绝不会让自己的程序里面只有一个主线程...[ 查看全文 ]
  • 标签:Delphi
      在用Delphi 3.0开发软件时,出现了硬件驱动程序(DLL)中的函数和过程不能正常调用的问题,该硬件由英国Schlumberger公司生产,驱动程序用汇编语言编写的。其《编程指南》给出的Microsoft C的示范程序均能正常运行。但运行此软件时现出的错误提示为: Access violation at address ×××××××× in module…… 经仔细分析,才发现问题出现在函数调用模式上。 Delphi 3.0支持五种调用...[ 查看全文 ]
  • 标签:Delphi
    XML(eXtensible Markup Language可扩展标志语言)在近几年的信息类杂志、网站上可谓是最抢眼的一词。大大小小的信息产品都争相和它搭上关系,唯恐赶不及这辆快车。有着良好口碑的宝蓝 (Borland)系列开发平台也不例外,从6.0版开始就集成了XML组件包,因其使用MSXMLDom解析器,相比于此前广泛应用的XMLParser解析器,MSXMLDom更显规范、中文兼容性更好(元素名、属性名均支持中文),很受开发者青睐。...[ 查看全文 ]
  • 标签:Delphi
      在Delphi中,定位文件的操作主要有两种方法。一种是直接定位文件,即通过“打开”对话框(OpenDialog)控件来实现。另一种是只定位到文件夹,然后再在此文件夹内寻找文件,这种定位方法是利用Delphi提供的SelectDirectory函数。这个函数是在FileCtrl单元中定义的,因此在使用时不要忘记在Uses中加入单元名。 下面就以一个例子来说明这两种方法在Delphi中的具体实现: 首先建立...[ 查看全文 ]
  • 标签:Delphi
      各位亲爱的读者,在delphi编程实战中我们可以使用按钮控件来制作程序中的按钮键。但是在使用其它软件时,我们常常可以看到透明按钮的效果。那么如何在delphi中实现透明按钮的效果?笔者在互联网搜索了不少时间也没有找到这方面的控件,于是决定自己DIY一番,下面笔者就将自己的经验与广大读者共享一番。 要实现透明按钮,共需要三个控件-image、label、bevel。其中image控件是为了突出透明...[ 查看全文 ]
  • 标签:Delphi
    一、DBGrid中的下拉列表 在DBGrid网格中实现下拉列表,设置好DBGrid中该字段的PickList字符串列表、初始的序号值DropDownRows即可。以职工信息库中的籍贯字段(字符串类型)为例,具体设计步骤如下: 1、在窗体上放置Table1、DataSource1、DBGrid1、DBNavigator1等控件对象,按下表设置各个对象的属性: 对象属性设定值Table1 DataBasesy1 TableName zgk.dbf //职工信息库 DataSource1 Dat...[ 查看全文 ]
  • 标签:Delphi
    这个看似神奇的功能,不需用第三方VCL组件就能搞定(据网上的“大牛”们说,第三方组件用多了,大脑会因长期得不到思考而逐渐退化成大猩猩的程度,所以尽量少用)。TRichEidt是Delphi提供的一个非常有用的VCL组件(你可以在Delphi的组件面板的Win32标签页中找到它),它提供了一个文本编辑程序的大部分的功能,甚至还可以对段落进行格式化、改变文本的颜色,这样一来,你完全可以用它制作一个类似Wind...[ 查看全文 ]
  • 标签:Delphi
      在数据库应用软件的开发过程中,经常需要把数据转换成Excel文件,让用户作进一步的数据处理。而Delphi是开发数据库应用系统的常用工具,那么,如何在Delphi中操作Excel呢? 我们知道,在Microsoft Office软件中有一种内嵌的编程语言VBA,它是一种宏语言,利用它,你可以编写出功能强大的代码,如打开文件、修改数据、保存数据和设置字体等。另一方面,Microsoft Office软件中的宏能以VBA代码...[ 查看全文 ]
手机页面 收藏网站 回到头部