怎么在DBgride实现选中几个连续的单元格并复制到剪切板中去

如何在DBgride实现选中几个连续的单元格并复制到剪切板中去?
如题?
DBgride可以选择一行,怎么实现选择一行里的几个连续的单元格,然后通过ctrl+c复制到剪切板?
有现成的代码的帮下吧,谢谢各位了

------解决方案--------------------
现场的没有,要写代码的吧
判断每个单元格状态, TGridDrawState 
if( State.Contain(gdSelected) )
{
...
}
------解决方案--------------------
这个是复制整行到剪切板的,你如果对格式有要求可以对那个字符串格式化一下.
C/C++ code

#include <Clipbrd.hpp>
void __fastcall TForm1::N1Click(TObject *Sender)
{
if(!DBGrid1->DataSource->DataSet->IsEmpty())
 {
 if(DBGrid1->SelectedRows->Count >0)
   {
   String FieldStr;
   for(int i=0;i<DBGrid1->DataSource->DataSet->FieldCount  ;i++)
     {
      //ShowMessage(DBGrid1->DataSource->DataSet->FieldList->Fields[i]->AsAnsiString     );
      FieldStr = FieldStr + DBGrid1->DataSource->DataSet->FieldList->Fields[i]->AsAnsiString;
     }
      Clipboard()->SetTextBuf(FieldStr.c_str() );
   }
 }
}