我想实现这样的效果,就是在Dbgrid中单击一个单元格。。。(50分)

  • 主题发起人 主题发起人 skyhorse_zjj
  • 开始时间 开始时间
S

skyhorse_zjj

Unregistered / Unconfirmed
GUEST, unregistred user!
我想实现这样的效果,就是在Dbgrid中单击一个单元格,把单元格的兰色背景去掉,光标停留在单元格的最左端。如何实现?
 
在单击事件中加入你要的功能。
 
对大富翁失望中。。。
 
用ehlib很容易实现
 
说说看啊。老兄。
 
procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
dbgrid1.EditorMode:=true;
end;

 
procedure TForm1.DBGrid1CellClick(Column: TColumn);
var
i:integer;
begin
DBGrid1.EditorMode:=true;
for i:=0 to DBGrid1.ComponentCount-1 do
begin
if DBGrid1.Components is TInplaceEdit then
TEdit(DBGrid1.Components).SelStart := 0;
end;
end;
 
再请教bubble老兄一个问题:
如何实现下面的效果:
点击一个DBGrid单元格使它背景颜色变掉呢?
 
我在程序里面添加了以下代码,怎么没有达到效果呢?
 
忘了贴代码了。
procedure Tfrmtz.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin
If (State = [gdSelected]) or (State=[gdSelected,gdFocused]) then
begin
dbgrid1.Canvas.brush.color:=clinfobk;
dbgrid1.Canvas.Font.color:=clblack;
dbgrid1.Canvas.FillRect(rect);
dbgrid1.Canvas.TextOut(rect.left+4,rect.top+4,field.asstring);
end;
end;
 
多人接受答案了。
 
后退
顶部