怎样对DBGrid的每个单元格响应事件?(在线等候)

myan18 2003-08-13 10:21:21
怎样对DBGrid的每个单元格响应事件?请以第一和第二个单元格为例说明,谢谢各位!我一定给分。
...全文
24 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjqyb 2003-08-14
  • 打赏
  • 举报
回复
void __fastcall TForm1::DBGrid1DblClick(TObject *Sender)
{
TPoint rr=DBGrid1->ScreenToClient(Mouse->CursorPos);
TGridCoord xy=DBGrid1->MouseCoord(rr.x,rr.y);
if (xy.X==1 && xy.Y==1)
ShowMessage("第一行第一列");
}
柯本 2003-08-14
  • 打赏
  • 举报
回复
写错了:我用TField::OnGetText多些
柯本 2003-08-14
  • 打赏
  • 举报
回复
看看HELP,不过我用TField::OnSetText多些
void __fastcall TForm1::Table1ADDRESS_1GetText(TField *Sender,
AnsiString &Text, bool DisplayText)
{
if (Text=="1")
Text="一";

}
myan18 2003-08-14
  • 打赏
  • 举报
回复
那请问哪位高手讲讲TField::OnSetText和TField::OnGetText的用法?先谢了!!
柯本 2003-08-13
  • 打赏
  • 举报
回复
void __fastcall TForm1::DBGrid1MouseUp(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
TGridCoord m= DBGrid1->MouseCoord(X,Y);
if (m.X==1 && m.Y==1)
{
ShowMessage("11");
// 你的事件1
}
else
if (m.X==1 && m.Y==2)
{
ShowMessage("12");
// 你的事件2
}


}
//---------------------------------------------------------------------------
myan18 2003-08-13
  • 打赏
  • 举报
回复
我顶!
myan18 2003-08-13
  • 打赏
  • 举报
回复
高手们救救我吧!
柯本 2003-08-13
  • 打赏
  • 举报
回复
原理一样,先在
int dbx,dby;
void __fastcall TForm1::DBGrid1MouseMove(TObject *Sender,
TShiftState Shift, int X, int Y)
{
dbx=X;
dby=Y;
}
中保存当前mouse的X,Y
void __fastcall TForm1::DBGrid1DblClick(TObject *Sender)
{
...
上面一贴的程序,将X,Y改成dbx,dby
}
myan18 2003-08-13
  • 打赏
  • 举报
回复
我顶。
myan18 2003-08-13
  • 打赏
  • 举报
回复
先谢谢keiy() :
  如果是对DBGrid的每个单元格双积响应不同的事件,该怎么办呢?

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧