//----------------------------------------
{编辑容器的定义}
TEditSrcb = Class(TScrollbox)
private
procedure MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure DragDrop( Sender,Source: TObject; X, Y: Integer);
procedure DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
published
{publish declarations}
property LabCount: integer read sLabCount write SetsLabCount;
protected
{protected declarations}
public
{public declarations} arryLab: array of TEdtRuleLabel; //----> array the TEdtRuleLabel
//objects;
constructor Create(AOwner: TComponent;RuleToEdit: string;CHElements:
array of TChoosedElements);
Destructor Destroy; override; procedure ReSetLabs;dynamic;
procedure InitLabsOrder(arryLabels: array of TEdtRuleLabel);
end;//--------------------------------
//---------------------------------
constructor TEditSrcb.Create(AOwner: TComponent;RuletoEdit:
string;CHElements: array of TChoosedElements);
begin
inherited create(AOwner); //arryLabels: array of TEdtRuleLabel OnMouseDown:= MouseDown;
OnDragOver:= DragOver;
OnDragDrop:= DragDrop; //---> 说明方式对吗?
self.Color:= Clgreen;
ChangeStrToEdtLabels(RuletoEdit,CHElements);
InitLabsOrder(arryLab);
end;procedure TEditSrcb.DragDrop( Sender,Source: TObject; X, Y: Integer);
begin
//-------
{操作步骤//--->问题是X,Y取出的值好像不对。不知道为什么,是不是函数的说明方
式不对呀?}
//--------
end;
{编辑容器的定义}
TEditSrcb = Class(TScrollbox)
private
procedure MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure DragDrop( Sender,Source: TObject; X, Y: Integer);
procedure DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
published
{publish declarations}
property LabCount: integer read sLabCount write SetsLabCount;
protected
{protected declarations}
public
{public declarations} arryLab: array of TEdtRuleLabel; //----> array the TEdtRuleLabel
//objects;
constructor Create(AOwner: TComponent;RuleToEdit: string;CHElements:
array of TChoosedElements);
Destructor Destroy; override; procedure ReSetLabs;dynamic;
procedure InitLabsOrder(arryLabels: array of TEdtRuleLabel);
end;//--------------------------------
//---------------------------------
constructor TEditSrcb.Create(AOwner: TComponent;RuletoEdit:
string;CHElements: array of TChoosedElements);
begin
inherited create(AOwner); //arryLabels: array of TEdtRuleLabel OnMouseDown:= MouseDown;
OnDragOver:= DragOver;
OnDragDrop:= DragDrop; //---> 说明方式对吗?
self.Color:= Clgreen;
ChangeStrToEdtLabels(RuletoEdit,CHElements);
InitLabsOrder(arryLab);
end;procedure TEditSrcb.DragDrop( Sender,Source: TObject; X, Y: Integer);
begin
//-------
{操作步骤//--->问题是X,Y取出的值好像不对。不知道为什么,是不是函数的说明方
式不对呀?}
//--------
end;
解决方案 »
- 含小数点的字符串转换为数值型
- MSSQL数据库的表中有数据类型为dateTime,怎样只取记录中的日期?
- delphi程序运行时提示缺少qtintf70.dll~是怎么会事啊??
- 怪,,,这个怎么解决,,
- 如何选择Listbox的某一项数据,并使它亮白显示?
- 小问题
- 编程怎样知道计算机上安装了哪些软件?
- ★毕业设计马上写论文,是用Delphi+Oracle做ERP,谁能给我一份类似的论文做参考,100分相送,不够再给,谢谢:)
- 诚聘Delphi开发人员(東莞)
- 有个小问题请大家费一个神,关于listbox和SQL的,几分钟时间,等待答复//准程序员
- edit输入问题。(在线等)
- delphi 的拖拽事件怎么写?
你可以去查ScrollBox等VCL的源码,例子很多,代码写得非常漂亮。
这样定义 procedure DragDrop(Sender,Source: TObject; X, Y: Integer);override;<--注意这里后面实现的代码这样写
procedure TEditSrcb.DragDrop( Sender,Source: TObject; X, Y: Integer);
begin
inherited;<--注意这里
//-------
你的代码.....
//--------
end;
定义:procedure DragDrop(Sender,Source: TObject; X, Y: Integer);override;
实现:
procedure TEditSrcb.DragDrop( Sender,Source: TObject; X, Y: Integer);
begin
inherited;
//实现
end;