0

我在 delphi xe7 中发现了一个错误,在拖放 TlistBoxitem 之后,对所有组件都形成了松散的效果。

我必须单击表单才能获得 mouseenter 效果。我看到(在调试模式下)TlistBox 通过调用 os dragAndDrop 服务的操作系统开始拖放。来自 FMX.ListBox 单元

if AllowDrag then
      begin
        Screenshot := ItemDown.MakeScreenshot;
        try
          AniCalculations.MouseLeave;
          FMouseSelecting := False;
          // start drag service
          Root.BeginInternalDrag(Selected, Screenshot);
        finally
          Screenshot.Free;
        end;
      end;

我在 delphi berlin 上尝试了拖放,该错误已修复。我看不到源,因为它是轻型版本。

我在网上没有找到任何解决方案。

我做了一个项目示例:http: //www.partage-fichiers.com/upload/qgbl1e5g

拖放项目后,鼠标输入(在所有组件上)并单击 Tlabel(hittest=true)不会被触发

4

1 回答 1

0

用于获取 mouseenter 和 mouseclick 事件之后

BeginInternalDrag(mylistboxItem, Screenshot);

MyListBox.Root.Captured := nil;
于 2016-12-30T14:19:16.003 回答