首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

请教delphi控件的双击事件和拖动事件有冲突怎么处理

2013-07-01 
请问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看效果~~


[解决办法]


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


  begin
   //处理
   TImage(Source).EndDrag(false);
  end;
end;

procedure TForm1.ImageMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if Sender is TImage then
  begin
    bDragDown := false;
  end; 
end;



试试这样行不..
[解决办法]
你不要在DblClick中使用showmessage来看效果。
那样会影响程序的执行流程。你可以加一个memo,往里面写日志来查看执行流程
[解决办法]
DblClick中如果showmodal窗体,可以在窗体的create后面加个标志变量。用来区分双击和拖拽。

或者你就不要用双击了,用右键菜单吧
[解决办法]
引用:
引用:
你不要在DblClick中使用showmessage来看效果。
那样会影响程序的执行流程。你可以加一个memo,往里面写日志来查看执行流程




不写showmessage不行啊。

我要在这两个事件 弹出不同的窗体form,实现不同的功能呢

你这个要求吧,就得去区分单击,双击事件
双击事件先触发的就是MouseDown消息。
[解决办法]
你最好把你老板的要求给大家说一下,不要纠结在拖放和双击上面。

热点排行