Понятно, тема заезженная. Но действенного примера в нете я так и не нашел, кроме как этого
http://www.skzimmelman.com/Articles/buttongrid.htm.
Мой код один в один, только с нажатием кнопки trouble
Код:
procedure TForm1.DBGridEh1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumnEh; State: TGridDrawState);
var ARect: TRect;
begin
//Распологаем кнопку в столбце DbGridEh1 с индексом;
If (Column.Index = 2) Then
begin
//Координаты ячейки DbGridEh1;
ARect := DBGridEh1.CellRect(Column.Index,DBGridEh1.Row);
// Присваиваем кнопку DBGridEh1;
If BitBtn1.Parent <> DBGridEh1 Then
BitBtn1.Parent := DBGridEh1 ;
//Устанавливаем позицию равной поцизии ячейки слева;
if (BitBtn1.Left <>ARect.Left) then
BitBtn1.Left:=ARect.Left;
//Устанавливаем позицию равной поцизии ячейки сверху;
If (BitBtn1.Top <> ARect.Top) Then
BitBtn1.Top := ARect.Top ;
// Приравниваем ширину кнопки к ширине ячейки;
If BitBtn1.Width<> (ARect.Right - ARect.Left) then
BitBtn1.Width:= (ARect.Right - ARect.Left) ;
// Приравниваем высоту кнопки к высоте ячейки;
If (BitBtn1.Height <> (ARect.Bottom-ARect.Top)) Then
BitBtn1.Height := (ARect.Bottom-ARect.Top);
end;
end;
//Вызов сообщения;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
ShowMessage('Запись удалена');
end;
Админ: Пользуемся тегами для оформления кода!