在DGGrid上如何得到鼠标移到某个cell上面,相应文字改变颜色的效果,请说具体些(100分)

  • 主题发起人 主题发起人 lily_ch
  • 开始时间 开始时间
L

lily_ch

Unregistered / Unconfirmed
GUEST, unregistred user!
采用MouseMove事件,但问题是用MouseCoord得到的cell是一个相对屏幕的坐标,不知如何得到
该cell所对应的文本的直以及Rect
 
好象DBGrid是不能改变一个cell的文字效果的,只能改变一行或一列的文字效果。
 
能够跟随鼠标移动改变整行的颜色吗,请告知具体办法
 
procedure TForm1.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0 );
mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0 );
end;
这样马马虎虎,好象都能鼠标移到某个cell上面,相应文字改变颜色的效果,
如果要一行,还得改。
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
IF (gdSelected in State) then
begin
DBGrid1.Canvas.Font.Color := clRed;
DBGrid1.Canvas.Font.Style := [fsItalic];
end;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
 
OnDrawDataCell()事件。
 
接受答案了.
 
后退
顶部