编辑dbgrid的某一列是,如何在编辑的单元格下面弹出一个Form?

dxgxk 2007-07-31 02:04:36
编辑form1中的dbgrid的某一列是,如何在编辑的单元格下面弹出一个Form?

有点类似picklist的东西,不过需要显示多字段,所以在一个from2上放一个dgbrid
显示一个表的一些字段以便选择,只是如何才能让他现在在正编辑的单元格的正下方,
该怎么设置form2的top和left,Form1上的dbgrid放在一个groupbox上面,能不能用屏幕的绝对坐标来设置form2的位置?

...全文
123 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
laowang2 2007-08-01
  • 打赏
  • 举报
回复
void __fastcall TXSfrm::DBGrid1DrawDataCell(TObject *Sender,
const TRect &Rect, TField *Field, TGridDrawState State)
{
if(State.Contains(gdSelected)) //gdSelected代表选中单元格
{
XSfrm->gridx=Rect.Left+DBGrid1->Left;
XSfrm->gridy=Rect.Top+DBGrid1->Top;
}
}
//---------------------------------------------------------------------------

void __fastcall TXSfrm::Button1Click(TObject *Sender)
{
ShowMessage(AnsiString("X=")+gridx+AnsiString(" Y=")+gridy);
}
//---------------------------------------------------------------------------
dxgxk 2007-08-01
  • 打赏
  • 举报
回复
能详细的说一下么?

dxhh99 2007-08-01
  • 打赏
  • 举报
回复
我想知道怎么样得到当前控件的绝对坐标(相对与屏幕),比如form上有一个GroupBox,GroupBox上有一个DBGrid,想得到DBGrid中某个单元格的绝对坐标,然后设置 Form2的Top和Left属性在此单元格的下面弹出Form2。

MPTD_Fire 2007-08-01
  • 打赏
  • 举报
回复
Form2->ShowForm()
修改属性
sharkxie 2007-07-31
  • 打赏
  • 举报
回复
可以在Form2->ShowForm()中设置左上角的位置
i_love_pc 2007-07-31
  • 打赏
  • 举报
回复
能不能用屏幕的绝对坐标来设置form2的位置?
========================================

可以!

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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