DBGrid 在DBGrid中显示了数据,数据中有一字段是Date类型的,双击这个字段的值可以更改,但手写容易出错,由于我就想加一个DateTimePicker,可是位置怎么也找不好,在双击Date类型的字段时,显示这个控件,大小正好覆盖单元格,否则不显示该控件,以前做出来过,但忘了,希望大家给出代码 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://borland.mblogger.cn/aiirii/posts/4911.aspx procedure TForm1.DBGrid1CellClick(Column: TColumn);begin if(TDrawGrid(DBGrid1).Col = 1) then begin DateTimePicker1.Left := DBGrid1.Left + TDrawGrid(DBGrid1).CellRect(TDrawGrid(DBGrid1).Col, TDrawGrid(DBGrid1).Row).Left; DateTimePicker1.Top := DBGrid1.Top + TDrawGrid(DBGrid1).CellRect(TDrawGrid(DBGrid1).Col, TDrawGrid(DBGrid1).Row).Top; DateTimePicker1.Width := TDrawGrid(DBGrid1).CellRect(TDrawGrid(DBGrid1).Col, TDrawGrid(DBGrid1).Row).Right - TDrawGrid(DBGrid1).CellRect(TDrawGrid(DBGrid1).Col, TDrawGrid(DBGrid1).Row).Left; DateTimePicker1.Height := TDrawGrid(DBGrid1).CellRect(TDrawGrid(DBGrid1).Col, TDrawGrid(DBGrid1).Row).Bottom - TDrawGrid(DBGrid1).CellRect(TDrawGrid(DBGrid1).Col, TDrawGrid(DBGrid1).Row).Top; end;end; 点击时,可以得到该区域的位置,把DateTimePicker的TOP,LEFT,WIDTH设置为区域就可以了。我经常这吗做的。 fastreport4 memo显示问题 Dev中的 SkinController---闪烁 升星星了 散分 又一个简单问题,要分的进来噢,解决马上结贴 请高手讨论:如何控制托盘里的小图标?枚举它们出来 image的继承问题 ADOQuery的小問題,散分 高手请进~! 问一个API函数(StretchBlt)的使用 delphi中如何实现不规则窗体 兄弟们,帮帮忙吧!!快气死我啦! 求志同道合者~散分
begin
if(TDrawGrid(DBGrid1).Col = 1) then
begin
DateTimePicker1.Left := DBGrid1.Left +
TDrawGrid(DBGrid1).CellRect(TDrawGrid(DBGrid1).Col, TDrawGrid(DBGrid1).Row).Left;
DateTimePicker1.Top := DBGrid1.Top +
TDrawGrid(DBGrid1).CellRect(TDrawGrid(DBGrid1).Col, TDrawGrid(DBGrid1).Row).Top;
DateTimePicker1.Width :=
TDrawGrid(DBGrid1).CellRect(TDrawGrid(DBGrid1).Col, TDrawGrid(DBGrid1).Row).Right
- TDrawGrid(DBGrid1).CellRect(TDrawGrid(DBGrid1).Col, TDrawGrid(DBGrid1).Row).Left;
DateTimePicker1.Height :=
TDrawGrid(DBGrid1).CellRect(TDrawGrid(DBGrid1).Col, TDrawGrid(DBGrid1).Row).Bottom
- TDrawGrid(DBGrid1).CellRect(TDrawGrid(DBGrid1).Col, TDrawGrid(DBGrid1).Row).Top;
end;
end;