Membuat warna record DBGRid pada ‘event mouse over’
DOWNLOAD JADWAL.xlsx
Berikut ini cara membuat warna pada record di DBGRid pada event mouse over yang berfungsi untuk mempercantik interface. Caranya cukup sederhana dan mudah difahami, Berikut langkah nya:
1. Ketik “ type THackDBGrid = class(TDBGrid); ” tanpa tanda petik tepat di bawah “Uses” seperti gambar berikut :
2. Ketikkan kode berikut pada DBGRid dalam event “OnDrawColumnCell” :
procedure TFcode.DBGridDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
grid : TDBGrid;
row : integer;
begin
//Warna pada mouse move
if (THackDBGrid(DBGrid).DataLink.ActiveRecord + 1 =
THackDBGrid(DBGrid).Row)
or (gdFocused in State) or (gdSelected in State) then
begin
DBGrid.Canvas.Brush.Color := clLime;
DBGrid.Canvas.Font.Style := DBGrid.Canvas.Font.Style + [fsBold] + [fsItalic];
DBGrid.Canvas.Font.Color := clRed;
end;
//Warna berbeda pada DBGrid
grid := sender as TDBGrid;
row := grid.DataSource.DataSet.RecNo;
if Odd(row) then
grid.Canvas.Brush.Color := $00E1D7D5
else
grid.Canvas.Brush.Color := $00C0F1B1;
grid.DefaultDrawColumnCell(Rect, DataCol, Column, State) ;
end;
3. Langkah takhir adalah ketik kode berikut pada DBGRid dalam event “OnMouseMove” :
procedure TFcode.DBGridMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
gc: TGridCoord;
begin
gc:= DBGrid.MouseCoord(x, y);
if (gc.X > 0) AND (gc.Y > 0) then
begin
DBGrid.DataSource.DataSet.MoveBy
(gc.Y - THackDBGrid(DBGrid).Row);
end;
end;
Semoga tulisan ini bermanfaat…
Link Download lengkap :
Subscribe to:
Post Comments (RSS)
3 comments on Membuat warna record DBGRid pada ‘event mouse over’ :
nice share sob...
nice thx
You can also visite my blog Fullversion software and game
www.newthingbd.blogspot.com
kita juga punya nih artikel mengenai delphi, berikut linknya semoga bermanfaat ya :D
http://repository.gunadarma.ac.id/bitstream/123456789/2320/1/Sinusoidal%20Scrolling%20OpenGL%20project%20in%20Delphi.pdf
Post a Comment