Delphi DBGrid图显用法

procedure TForm10.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var Im1: TBitmap;
staff_id: string;
begin
Im1:=TBitmap.Create;
if (dm.AQ_personal.RecordCount = 0) then exit;
if Column.Field = dm.AQ_personal.FindField(‘autoid‘) then
// if Column.Field = dm.AQ_personal.FindField(‘工号‘) then
begin
with DBGrid1.Canvas do
begin
Brush.Color:=clinfoBk;
FillRect(Rect);
staff_id:=dm.AQ_personal.FindField(‘staff_id‘).Asstring;
if ((dm.AQ_personal.FindField(‘work_type‘).Asstring)=‘离职类别‘)
then ImageList2.GetBitmap(0,Im1);
if ((dm.AQ_personal.FindField(‘work_type‘).Asstring)=‘试用期员工‘)
then ImageList2.GetBitmap(1,Im1);
if ((dm.AQ_personal.FindField(‘work_type‘).Asstring)=‘未填在离职‘)
then ImageList2.GetBitmap(2,Im1);
if ((dm.AQ_personal.FindField(‘work_type‘).Asstring)=‘在职类别‘)
then ImageList2.GetBitmap(3,Im1);
// TextOut(Rect.Right-2-DBGrid1.Canvas.TextWidth(staff_id),Rect.Top+1,staff_id);
// Draw(round((Rect.Left+Rect.Right-Im1.Width)/5),Rect.Top,Im1);
Draw(round((Rect.Left+Rect.Right-Im1.Width)/2),Rect.Top,Im1);
end;
end;

end;

时间: 2024-10-12 05:20:56

Delphi DBGrid图显用法的相关文章

Delphi DBGrid记录全选和反选拖动处理

DBGrid1.DragMode   :=   dmManual;//留意这个设置不要变 procedure ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean); procedure TForm18.ApplicationEvents1Message(var Msg: tagMSG;var Handled: Boolean);begincase   Msg.message   of          WM_LBUTTO

Delphi中ClientDataSet的用法小结

TClientDataSet控件继承自TDataSet,其数据存储文件格式扩展名为 .cds,是基于文件型数据存储和操作的控件.该控件封装了对数据进行操作处理的接口和功能,而本身并不依赖上述几种数据库驱动程序,基本上能满足单机"瘦"数据库应用程序的需要. 一.TClientDataSet的基本属性和方法介绍 1.FieldDefs: 字段定义列表属性 开发者可通过单击属性编辑器中该属性编辑按钮,或在该控件上单击右键选择弹出菜单中的"Fields Editor"菜单进

delphi 中 delete的用法

delete 是删除一个 字符串中的 某部分字符用法是 delete(str,//被删除的字符串               index,//从第几个字符开始删除              count //删除几个              );Delete(S, 2, 2); 就是从S中的第二个开始删除,删除2个字符即2.3. Delphi Help: var s: string; begin   s := 'Honest Abe Lincoln';   Delete(s,8,4);   Ca

Delphi 中 TStrings 一些用法

Delphi TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的. 常规的用法大家都知道,现在来讨论它的一些高级的用法. 先把要讨论的几个属性列出来: 1.CommaText 2.Delimiter & DelimitedText 3.Names & values & valueFromIndex 先看第一个:CommaText.怎么用呢?用代码说话: const constr :String = 'aaa,bbb,ccc,ddd'; var strs :T

delphi实现图象灰度处理的3种方法

灰度处理的方法主要有如下3种: 1.最大值法:使R.G.B的值等于3值中最大的一个,即:   R=G=B=max(R,G,B) 最大值法会使形成高亮度很高的灰度图象 [delphi] view plain copy print? var bitmap:tbitmap; i,j:integer; a,b,c,crgb,temp:longint; res:byte; begin //最大值灰度处理方法 bitmap:=tbitmap.Create; bitmap.Width:=image1.Widt

delphi中webbrowser的用法

WebBrowser1.GoHome; //到浏览器默认主页 WebBrowser1.Refresh; //刷新 WebBrowser1.GoBack; //后退 WebBrowser1.GoForward; //前进 WebBrowser1.Navigate('...'); //打开指定页面 WebBrowser1.Navigate('about:blank'); //打开空页面 //打开空页面, 并写入... WebBrowser1.Navigate('about:<head><ti

DELPHI中MessageBox的用法 (转)

MessageBox对话框 输入控件的   ImeName属性把输入法去掉就默认为英文输入了 MessageBox对话框是比较常用的一个信息对话框,其不仅能够定义显示的信息内容.信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对话框信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对框. 1.函数原型及参数 function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer

delphi SPCOMM的一些用法注意

使用串口SPCOMM接收数据的时候0x11和0x13无法接受,从时间间隔上看来可以接收,但是无法显示.网上查错误得: ------------------------------------------------------------------------ OutX_XonXOffFlow/InX_XonXoffFlow:这个属性是指进行发送/接收时的软件握手标志,两个握手信号之间的数据被认为是通讯数据,收到握手信号后,通讯就中止了. FOutx_XonXoffFlow := True;F

Delphi XE4 inline 的用法

为了提高应用程序的性能,可以用inline声明一个函数过过程,对于声明为inline的过程,编译器在编译时,会取代正常的过程调用方式,取而代之是直接把这个函数的编译代码拿过来生成到调用该过程的地方,有多处调用一个函数,都直接在调用处插入函数的编译代码,这样的弊端,会生成较大的EXE文件. 声明的方法: procedure MyFunc(x:integer):string;inline 有多种情况的函数或过程是不支持inline的: 后绑定的方法,如virtual,dynamic,message方