箭头控件的制作问题?(100分)

  • 主题发起人 主题发起人 aidy
  • 开始时间 开始时间
A

aidy

Unregistered / Unconfirmed
GUEST, unregistred user!
能不能在一个控件中设置他的Parent(假设为FORM)的OnDragOver事件中的Accept为True,
即能不能用其他方法使Parent可以接受拖动,而不是在Parent的Ondragover事件中设定。
其实我就想做一个可以随意变化的箭头,就像用PowerPoint等画流程图时用的箭头随意
拖拉。
 
做一个流程图时用的箭头和 DragOver 事件有什么关系吗?自己写鼠标事件,画出来的。
 
如果仅仅是要箭头控件,可以给我发email要huizhang的TLine控件,可以画箭头和变方向。
注意email的主题说清楚。
 
其实想让一个控件接受拖动,不一定要写Accept=True的,
只要在OnDragOver事件中写入注释({}或//)即可.
以下是允许控件的parent接受拖动的方法:

声明:
TMyControl = class(TWinControl)
private
ParentControl:TWinControl;
procedure DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
public
constructor Create(AOwner: TComponent;p:TWinControl);override;
end;
实现:
constructor TMyControl.Create(AOwner: TComponent;p:TWinControl);
begin
inherited Create(AOwner);
ParentControl := P;
P.OnDragOver := DragOver;
end;
procedure TMycontrol.DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
{}
Accept := True;
end;
 
在控件的拖动过程里随时重画箭头的指向!
 
多人接受答案了。
 
后退
顶部