请教一个很有研究价值的问题

ruangl 2003-12-16 08:17:14
当我们把Fields Editor窗口中的字段选中后,拖到窗体面板上,窗体上会自动生成相应的label和DBEdit等组件。请问:其实现代码在delphi源代码中的何处能找到?
...全文
71 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyforlove 2003-12-17
  • 打赏
  • 举报
回复
下面这段代码是托拽edit控件,再拖拽的位置生成一个新的edit控件,
只要有托拽事件的空间都可以这么做。

procedure TForm1.Edit1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button=mbLeft then
(Sender as TEdit).BeginDrag(false);
end;

procedure TForm1.FormDragDrop(Sender, Source: TObject; X, Y: Integer);
var
MyEdit:TEdit;
begin
if (Sender is TForm) and (Source is TEdit) then
begin
MyEdit:=TEdit.Create(self);
MyEdit.Parent:=self;
MyEdit.Left:=x;
MyEdit.Top:=y;
MyEdit.Text:=(Source as TEdit).Text;
MyEdit.Show;
end;
end;

procedure TForm1.FormDragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
if Source is TEdit then
Accept:=true;
end;

ruangl 2003-12-17
  • 打赏
  • 举报
回复
谢谢各位的参与和解答,其实要实现的功能我也基本实现,可是总觉得方法不是太好,所以我很想看看DELPHI中的相关源代码。
dyf2001 2003-12-16
  • 打赏
  • 举报
回复
这个应该没有源代码吧,这是DELPHI程序的功能。
但是实现起来也不是很难啊
ruangl 2003-12-16
  • 打赏
  • 举报
回复
也就是说,它触发了哪些对象的哪些方法?
ruangl 2003-12-16
  • 打赏
  • 举报
回复
为情飞:你所指的拖拉事件是属于哪个类的呀?能告诉我吗?
flyforlove 2003-12-16
  • 打赏
  • 举报
回复
Fields Editor窗口有拖拉事件,实现起来不难。

5,930

社区成员

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

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