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

DBGrid中单元格事件,该如何解决

2013-07-27 
DBGrid中单元格事件怎样为dbgrid中的每个单元格定义一个onmouseover事件啊?或是类似的,就是当鼠标进入cell

DBGrid中单元格事件
怎样为dbgrid中的每个单元格定义一个onmouseover事件啊?或是类似的,就是当鼠标进入cell时会触发的那个事件啊?望大侠指教啊!
[解决办法]
在Grid的MouseMove事件中判断一下鼠标所在的单元格,然后再进行相应的处理
[解决办法]
以前做过在DBGrid上弄个CheckBox,是从某个资料上获得的,看能不能给你启发。
先选择或动态创建一个CheckBox控件,如果选择动态创建,可以使用以下代码:   
  TCheckBox   *CheckBox   =   new   TCheckBox(this);   
  CheckBox->Parent   =   DBGrid1;   
  CheckBox->Visible   =   false;//默认选择不可见   
    
  在DBGrid的DrawColumnCell()事件中:   
  void   __fastcall   TForm1::DBGrid1DrawColumnCell(TObject   *Sender,   
              const   TRect   &Rect,   int   DataCol,   TColumn   *Column,   
              TGridDrawState   State)   
  {   
          if   (   DBGrid1->SelectedIndex   ==   0   )//选中DBGrid中行的第一个域   
          {   
                if   (   State.Contains(gdFocused))   
                {   
                        //以下代码确定CheckBox的显示位置,可自己调整   
                        CheckBox->Left   =   DBGrid1->Left   +   Rect.Right   -   30;   
                        CheckBox->Top   =   Rect.Top   +   DBGrid1->Top   +   2;   


                        CheckBox->Width   =   30;   
                        CheckBox->Height   =   Rect.Bottom   -   Rect.Top;   
                        CheckBox->Visible   =   true;   
                }   
          }   
  }

热点排行