请教delphi控件的双击事件和拖动事件有冲突怎么处理
请问delphi控件的双击事件和拖动事件有冲突怎么办?
双击时,自动变成了拖动,郁闷啊。。。
------解决方案--------------------
。。。。。。你用的什么控件?
------解决方案--------------------
是不是直前自動生成的事件代碼,你沒有注銷所致?把組件相關代碼貼出來看看。。。
------解决方案--------------------
你是想要什么效果呢??说清楚点??
------解决方案--------------------
Image控件的Dragmode := dmManual;
procedure TForm1.Image1DblClick(Sender: TObject);
begin
Label3.Caption := Inttostr(gettickcount);
Label1.Caption := 'dbclick';
end;
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
TImage(sender).BeginDrag(False);
end;
procedure TForm1.Image1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept := True;
end;
procedure TForm1.Image1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
Label6.Caption := 'move';
end;
不要用showmessage看效果~~
------解决方案--------------------
双击时,自动变成了拖动,郁闷啊。。。
------解决方案--------------------
。。。。。。你用的什么控件?
------解决方案--------------------
是不是直前自動生成的事件代碼,你沒有注銷所致?把組件相關代碼貼出來看看。。。
------解决方案--------------------
你是想要什么效果呢??说清楚点??
------解决方案--------------------
Image控件的Dragmode := dmManual;
procedure TForm1.Image1DblClick(Sender: TObject);
begin
Label3.Caption := Inttostr(gettickcount);
Label1.Caption := 'dbclick';
end;
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
TImage(sender).BeginDrag(False);
end;
procedure TForm1.Image1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept := True;
end;
procedure TForm1.Image1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
Label6.Caption := 'move';
end;
不要用showmessage看效果~~
------解决方案--------------------
var bDragDown : boolean;
procedure TForm1.ImageMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Sender is TImage then
begin
bDragDown := button = mbleft;
end;
end;
procedure TForm1.ImageMouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
if bDragDown then
begin
TImage(Sender).BeginDrag(False);
end;
end;
procedure TForm1.ImageDragDrop(Sender, Source: TObject; X,
Y: Integer);
begin
if Tcontrol(source) is timage then