C++Builder StringGrid 控件的事件

晴空遐想 2012-05-23 07:55:28
StringGrid控件有没有编辑完一个格子,并且在退出编辑时触发的事件。我想编辑各自并且读取到新写入格子的数据!,谢谢指教!!!
...全文
214 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ltioaf001 2012-06-10
  • 打赏
  • 举报
回复
学习一下,支持下楼主
晴空遐想 2012-06-09
  • 打赏
  • 举报
回复
谢谢了!!!前段时间出去了一趟忘记结贴了
tanzhihua198612 2012-05-24
  • 打赏
  • 举报
回复
我有段代码 不知道是不是你需要的功能 ,先在窗体当中放一个edit

void __fastcall TForm1::StringGrid1SelectCell(TObject *Sender, int ACol,
int ARow, bool &CanSelect)
{
TStringGrid *sg = dynamic_cast<TStringGrid*>(Sender);
if (!sg)
return;

sg->Perform(WM_CANCELMODE, 0, 0);
TRect R = sg->CellRect(ACol, ARow);
TPoint org = ScreenToClient(sg->ClientToScreen(TPoint(R.Left, R.Top)));
Edit1->SetBounds(org.x, org.y, R.right - R.left, StringGrid1->RowHeights [sg->Row]);
Edit1->Show();
Edit1->BringToFront();
Edit1->SetFocus();
Edit1->Text = "";
Edit1->Text = StringGrid1->Cells [ACol][ARow];
Edit1->SelectAll();
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Edit1Exit(TObject *Sender)
{
if(StringGrid1->Col<17)
{
if(Edit1->Text=="")
StringGrid1->Cells [StringGrid1->Col][StringGrid1->Row] = "00" ;
else if(Edit1->Text.Length()==1)
StringGrid1->Cells [StringGrid1->Col][StringGrid1->Row] = "0"+Edit1->Text;
else
StringGrid1->Cells [StringGrid1->Col][StringGrid1->Row] = Edit1->Text ;
Edit1->Visible = false;
}
}
晴空遐想 2012-05-24
  • 打赏
  • 举报
回复
我需要很多单元格,几百个啊!
Kanson 2012-05-24
  • 打赏
  • 举报
回复
里面放个edit?退出时在edit exit当中响应事件,

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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