Delphi经验技巧集锦

Delphi经验技巧集锦

---- 一.为列表框添光彩

---- 为了改变Listbox和Combobox两个控件的单调风格, 我想在它们的每一项前面加上个图标。从表面上看好像不大可能啦。就在走投无路的时候,我忽然发现这两个构件都有一个style属性, 它可以设为lbOwnerDrawFixed,Draw这个单词吸引了我,然后我又从Delphi的在线帮助中找到了一个相关的事件OnDrawItem,在这个事件中写一段代码,就可以在列表框中的每一项前面添加一个小图标啦。

---- 下面是在Listbox 的OnDrawItem事件中添加的代码:

procedure TForm1.ListBox1DrawItem(Control:
 TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
var
Bitmap: TBitmap;
Offset: Integer;
begin
with (Control as TListBox).Canvas do
begin
FillRect(Rect);
Offset := 2;
Bitmap := TBitmap.create;
Bitmap.LoadFromFile(′d:/temp1/1.bmp′);
 //指定图文件是d:/temp1/1.bmp
BrushCopy(Bounds(Rect.Left + 2, Rect.Top,
 Bitmap.Width, Bitmap.Height),
Bitmap, Bounds(0, 0, Bitmap.Width,
 Bitmap.Height), clRed); 
Offset := Bitmap.width + 6;
TextOut(Rect.Left + Offset, Rect.Top, 
(Control as TListBox).Items[Index]) 
end;
end;
---- 进一步,利用OnDrawItem事件的参数Index还可以在不同项前面添加不同的图标。还要告诉你的是, 当用add方法为列表框或下拉框添加项目时, 会自动执行 OnDrawItem事件,这样新添加的项目前面也就有了一个图标。

---- 二.获取count值

---- Delphi与Power Builder一样,都提供了SQL语言,来实现对数据库的访问,仅仅是实现语句的长短不同。Delphi是在Pascal语言基础之上发展起来的,它提供了强大的功能,各种控件提供了丰富的属性和方法。我们应该充分利用这些属性和方法。要想知道某数据库的记录数, 用一个简单的语句即可完成。例如求Delphi的DBDemos数据库中表 day.db的记录总数,假设Table控件已加到Form上,具体实现语句为:

Edit1.text:=inttostr(Table1.recordcount);
如果是要知道符合某条件的记录数,也非常方便,具体实现语句为:
Edit1.text:=inttostr(Query1.recordcount);
Recordcount属性用来表示为数据集相连的表的记录总数。
还有一种通用的方法,具体实现语句为:
VAR i:integer;
Begin
i:=0;
Table1.open;
Table1.First;
While not Table1.eof do
BEG1N
i:=i+1;
Table1.next;
End;
Edit1.text:=inttostr(i);
如果使用了TQuery控件,具体步骤如下:
Query1.close;
Query1.SQl.clear;
query1.SQL.add (′ ...... ′);
//某查询语句
Query1.open
Query1.first;
i:=0;
While not Query1.eof do
BEG1N
i:=i+1;
Query1.next;
EnD
Edit1.text:=Inttostr(i);
---- 三.给数据库报表加上网格线

---- Delphi 1.0和2.0版捆绑了Reportsmith报表制作工具,实现报表打印。如果打印一个很简单的报表,在程序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值