是在一个 panel上动态生成20个图片,这些图片是从imagelist里面取出来的, 然后用下面代码拖动突破,可是当拖动一张图片到另一张图片附近的时候,图片就好像跳出panel外面去了,消失不见了,有些又不会消失得,,,why??....
procedure TFmRealMonitor.PicshowDragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
if state=dsDragMove then
begin
//使Picshow组件的中心点始终位于鼠标当前的坐标点
(Source as TPicShow).Left:=(Source as TPicShow).Left+x-((Source as TPicShow).Width div 4);
(Source as TPicShow).Top:=(Source as TPicShow).top+y-((Source as TPicShow).Height div 4);
end;
end;为啥有时候拖动图标的时候,图片直接消失的呢 ?
procedure TFmRealMonitor.PicshowDragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
if state=dsDragMove then
begin
//使Picshow组件的中心点始终位于鼠标当前的坐标点
(Source as TPicShow).Left:=(Source as TPicShow).Left+x-((Source as TPicShow).Width div 4);
(Source as TPicShow).Top:=(Source as TPicShow).top+y-((Source as TPicShow).Height div 4);
end;
end;为啥有时候拖动图标的时候,图片直接消失的呢 ?
解决方案 »
- hxConst hxPopup 这是什么控件啊 老是提示没这个文件
- Delphi6.0 ListView 显示问题,各位大哥大姐帮帮小弟了~~~不甚感激~~~
- 请问:EasyTable是不是是不支持事务处理的?急,在线等!~~
- 我有问题求问
- 哪位大侠 救我 1060分 全给了!!!!!!!!!!!!!!!!在线等待
- 不爽..半夜十一点,钥匙没掉...散分!!
- 关闭包含ActiveX控件的HTML文件出错
- 怎样获得MEMO当前行的长度?
- 熟悉手机编程的请进:关于FBUS协议
- XE7下,IdHTTPServer的CommandGet取POST中文乱码问题,但是同样D7不会,怎么解决?
- Delphi中有没有像Photoshop那样的“历史”按钮或面板,可以撤销多步的?
- 提前庆五一,大家谈谈假期都干嘛去!
你想完成什么样的功能?在Panel上将图片拖来拖去吗,如果是处理鼠标事件就行了。图片直接消失可能跟x, y坐标有关系。
额,累加效应??。晕
对于连续的两次的鼠标事件,第一次是(1, 1)第二次是(2,2)
假设原来的left,right是(0,0)
那么第一次鼠标事件后,控件位置是(1,1),第二次以后,我们的期望值是(2,2),但是因为你第一次已经累加了(1,1),所以实际的数字就是(3,3)了……经历的鼠标事件越多,控件移动的就越远……
(Source as TPicShow).Left:=(Source as TPicShow).Left+ox-((Source as TPicShow).Width div 4);
(Source as TPicShow).Top:=(Source as TPicShow).top+oy-((Source as TPicShow).Height div 4);
这样鼠标不会再累加了吧??
额,我再看看
兄弟,晚安,注意身体。