请问在Delphi中,为什么点击stringgrid中的Button,它的click事件不被响应呢?

按钮是你在运行时创建的么?需要设置按钮的parent属性,另外,需要事先写一个类似的

procedure ButtonClick(Sender: TObject);事件函数,并且把它赋值给你这个动态创建的按钮:

btnAddJQ.onclick := ButtonClick;

==============第二次回答===========

哦,这次看懂了。我做了个实验如下,没发现你说的问题啊

procedure TForm1.btnaddJQClick(Sender: TObject);

begin

ShowMessage('Hi!');

end;

procedure TForm1.strngrdjhszSelectCell(Sender: TObject; ACol, ARow: Integer;

var CanSelect: Boolean);

var

leftPos, topPos, i: Integer;

begin

leftPos := 0;

topPos := 0;

for i := 0 to strngrdjhsz.ColCount - 1 do

leftPos := leftPos + self.strngrdjhsz.ColWidths[i] + 1;

for i := 0 to ARow - 1 do

topPos := topPos + self.strngrdjhsz.RowHeights[i] + 1;

btnaddJQ.Left := strngrdjhsz.Left + leftPos + 2;

btnaddJQ.Top := strngrdjhsz.Top + topPos + 2;

btnaddJQ.Width := strngrdjhsz.ColWidths[10] + 1;

btnaddJQ.Height := strngrdjhsz.RowHeights[ARow];

btnaddJQ.Visible := True;

end;