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 :
Cara membuat warna pada DBGrid di delphi
Untuk memperindah view data pada DBGrid di Delphi dengan warna yang berbeda pada setiap recordnya cukup dengan menambahkan code berikut : di DBGRid pada event on DrawColumnCell.
procedure TFkaryawan.dbgkaryawanDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
grid : TDBGrid;
row : integer;
begin
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;
semoga ini bermanfaat walaupun sudah banyak yang posting tentang mewarnai grid..
Subscribe to:
Posts (RSS)