相关疑难解决方法(0)

Delphi中的跨应用程序拖放

我想为Windows XP创建一个Delphi应用程序,它允许删除从Windows资源管理器(桌面或文件夹窗口)或支持此操作的其他应用程序(例如Total Commander)拖动的文件.反之亦然?当用户从我的应用程序中拖动图标时,我应该能够将拖动对象的内容设置为自定义数据.

我的目标是创建一个自定义应用程序工具栏,我可以在其上删除应用程序并显示其图标或从中拖动应用程序或其他实体.

如何才能做到这一点?

windows delphi drag-and-drop windows-explorer

8
推荐指数
1
解决办法
4852
查看次数

将文件拖放到Delphi表单不起作用

我试图接受从文件资源管理器拖放到窗体的文件,但它不起作用.永远不会调用我的WM_DROPFILES处理程序.我正在运行Windows 8,如果这有任何区别.

这是我做的一个简单示例(我在表单上只有一个TMemo):

type
  TForm1 = class(TForm)
    Memo1: TMemo;
  private
    { Private declarations }
    procedure WMDROPFILES(var msg : TWMDropFiles) ; message WM_DROPFILES;
    procedure CreateWnd; override;
    procedure DestroyWnd; override;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

procedure TForm1.CreateWnd;
begin
  inherited;
  DragAcceptFiles(Handle, True);

end;

procedure TForm1.DestroyWnd;
begin
  inherited;
  DragAcceptFiles(Handle, false);

end;

procedure TForm1.WMDROPFILES(var msg: TWMDropFiles);
var
  i, fileCount: integer;
  fileName: array[0..MAX_PATH] of char;
begin
  fileCount:=DragQueryFile(msg.Drop, $FFFFFFFF, fileName, MAX_PATH);
  for i := 0 to fileCount …
Run Code Online (Sandbox Code Playgroud)

delphi delphi-2010

7
推荐指数
1
解决办法
5420
查看次数