我在form里用了一个DBGRID,并成功连上了数据库.
在默认情况下我点击Dbgrid中的每行时,被点中的行立即以不同的颜色显示了.后来我改了它的一些属性,如下:
ParentBiDiMode True
ParentColor False
ParentCtl3D flase
Parentfont true
Parentshowhint false
showhint trueOptions中的如下:
dgEditing false
dgAlwaysShowEditor false
dgTitles true
dgIndicator false
dgColumnResize false
dgColLines true
dgRowlines false
dgTabs true
dgRowSelect true
dgAlwaysShowSelection false
dgConfirmDelete true
dgCancelOnExit true
dgMultiSelect False我还加了如下事件
procedure TfrmAccountList.dbListDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if adoqtype.RecNo mod 2 = 1 then
begin
dblist.Canvas.Brush.Color := clCream ;
dblist.Canvas.Font.Color:=clBlack ;
end
else begin
dblist.Canvas.Brush.Color := clWhite;
dblist.Canvas.Font.color:=clBlack;
end; dblist.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end; 现在我就是想在点击后,被点中的行的颜色能和其它不一样.小弟愚昧,还望指教!
在默认情况下我点击Dbgrid中的每行时,被点中的行立即以不同的颜色显示了.后来我改了它的一些属性,如下:
ParentBiDiMode True
ParentColor False
ParentCtl3D flase
Parentfont true
Parentshowhint false
showhint trueOptions中的如下:
dgEditing false
dgAlwaysShowEditor false
dgTitles true
dgIndicator false
dgColumnResize false
dgColLines true
dgRowlines false
dgTabs true
dgRowSelect true
dgAlwaysShowSelection false
dgConfirmDelete true
dgCancelOnExit true
dgMultiSelect False我还加了如下事件
procedure TfrmAccountList.dbListDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if adoqtype.RecNo mod 2 = 1 then
begin
dblist.Canvas.Brush.Color := clCream ;
dblist.Canvas.Font.Color:=clBlack ;
end
else begin
dblist.Canvas.Brush.Color := clWhite;
dblist.Canvas.Font.color:=clBlack;
end; dblist.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end; 现在我就是想在点击后,被点中的行的颜色能和其它不一样.小弟愚昧,还望指教!
解决方案 »
- 请问下TreeView怎样将选中节点作为SQL查询条件
- 获取大文件的行数,在线等待中~
- 郁闷了好久~~~ado访问access出现语法错误?
- ******请问如何使用https协议进行通讯?******
- 请问D6里添加了一个控件(自己写的)以后,怎么在系统中删除它。
- 请问ADODataSet属性’Cursortype’中的几个枚举类型是什么意思?
- DELPHI学到什么程度才能出去混饭吃?
- 有关数据库.
- 她总是孤零零地出现在右下角
- 如何用按键控制窗体hide and show,多谢
- 突发奇想,定义一个含4单独byte的Cardinal类型,梆!状墙了
- ★★MSN - 纯净的天空!交友连谊会!有MSN的朋友快进来报道!★★
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin
根据State改变
DBGrid1.Canvas.Brush.color
end;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if gdSelected in state then
// 被点中的行的颜色 设置
end;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if gdSelected in state then
begin
dblist.Canvas.Brush.Color := clRed ;
dblist.Canvas.Font.Color:=clWhite ;
end else
begin
if Table1.RecNo mod 2 = 1 then
begin
dblist.Canvas.Brush.Color := clGreen ;
dblist.Canvas.Font.Color:=clBlack ;
end
else begin
dblist.Canvas.Brush.Color := clWhite;
dblist.Canvas.Font.color:=clBlack;
end;
end; dblist.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;或者:procedure TForm1.dblistDrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin
if gdSelected in state then
begin
dblist.Canvas.Brush.Color := clRed ;
dblist.Canvas.Font.Color:=clWhite ;
end else
begin
if Table1.RecNo mod 2 = 1 then
begin
dblist.Canvas.Brush.Color := clGreen ;
dblist.Canvas.Font.Color:=clBlack ;
end
else begin
dblist.Canvas.Brush.Color := clWhite;
dblist.Canvas.Font.color:=clBlack;
end;
end; dblist.DefaultDrawDataCell(Rect, Field, State);
end;
http://usa.internations.net/luckyjan/
下载:
http://usa.internations.net/luckyjan/mySkills.html
【第4行】(Delphi)若干常用技巧,下载