首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

TStringGrid的相关有关问题

2012-10-13 
TStringGrid的相关问题背景:装了一个c++ builder 6.0,但是没有帮助文档。据说帮助文档也很烂。上网找资料,基

TStringGrid的相关问题
背景:装了一个c++ builder 6.0,但是没有帮助文档。据说帮助文档也很烂。
上网找资料,基本上都是delphi的。很烦恼。
我看了这个控件的一些事件,没帮助文档,真难搞啊。
----哥哥------------------------------------
我想实现以下这么几个功能:
1 我双击击一个cell,那一row全都变色。
2 我双击一个cell,我可以更改这个cell里面的数据。
3 我看到delphi里面有个从文件中来读取数据和保存到文件的,但是c++ builder里面用不来。
  请介绍一下相关头文件,和函数名。
-----

[解决办法]
1. 双击一个Cell,所在行全部变色,这个在OnDrawCell事件中处理。
2. 双击一个Cell,可以更改Cell里的数据,这个只要StringGrid的Options属性:
goRowSelect为false,goEditing为true
3. 遍历所有行或所有列,将TStrings数据写入文件即可,自己编一个函数。
[解决办法]
双击修改cell值

C/C++ code
void __fastcall TForm4::StringGrid1DblClick(TObject *Sender){    StringGrid1->Options<< goEditing;}
[解决办法]
变色,
h文件
private:// User declarations
int curRow;
cpp文件

C/C++ code
void __fastcall TForm4::StringGrid1DblClick(TObject *Sender){    StringGrid1->Options<< goEditing;    curRow = this->StringGrid1->Row;    StringGrid1->Repaint();}//---------------------------------------void __fastcall TForm4::StringGrid1DrawCell(TObject *Sender, int ACol,      int ARow, TRect &Rect, TGridDrawState State){   if( ARow == curRow  )   {      StringGrid1->Canvas->Brush->Color = clRed;      StringGrid1->Canvas->Font->Color = clYellow;      StringGrid1->Canvas->FillRect(Rect);      StringGrid1->Canvas->TextOutA(Rect.left+2,Rect.top+2,StringGrid1->Cells[ACol][ARow]);   }} 

热点排行