读书人

有关StringGrid的有关问题望高手帮忙

发布时间: 2012-02-08 19:52:21 作者: rapoo

有关StringGrid的问题,望高手帮忙解答

C/C++ code
void __fastcall TFrmPhaseControl::Button4Click(TObject *Sender){    ShowMessage("点到我了");}void __fastcall TFrmPhaseControl::StringGrid1MouseMove(TObject *Sender,      TShiftState Shift, int X, int Y){    int XCol,XRow;    StringGrid1->MouseToCell(X,Y,XCol,XRow);    if(XRow)    {        Button4->Parent=StringGrid1;        Button4->Left=StringGrid1->CellRect(5,XRow).Left;        Button4->Top=StringGrid1->CellRect(5,XRow).Top;        Button4->Width=StringGrid1->ColWidths[5];        Button4->Height=StringGrid1->RowHeights[1];        Button4->Visible=true;        Button4->OnClick=Button4Click;    }}

为什么我点Button4的时候没任何反应,望高手指教,在下感激不尽...

[解决办法]
C/C++ code
button4设置bring to frontvoid __fastcall TForm1::StringGrid1MouseMove(TObject *Sender,      TShiftState Shift, int X, int Y){   int XCol,XRow;   StringGrid1->MouseToCell(X,Y,XCol,XRow);   if(XRow)   {       Button4->Left =StringGrid1->Left;       Button4->Top=StringGrid1->Top;       Button4->Width=StringGrid1->ColWidths[5];       Button4->Height=StringGrid1->RowHeights[1];   }}
[解决办法]
如果parent不是stringgrid
left和top不能按照mousemove里的x y 来计算了


Button4->Left=StringGrid1->CellRect(5,XRow).Left + StringGrid1->Left + 2;
Button4->Top=StringGrid1->CellRect(5,XRow).Top + StringGrid1->Top + 2;

读书人网 >C++ Builder

热点推荐