全部博文(788)
分类:
2009-02-03 09:56:32
能不能给TPanel增加接收 WM_DROPFILES 的方法呢。
前提是不需要重新编译TPanel控件。编写一个继承类的话就不能放在界面上了。除非编成可视控件。
Uses
StdCtrls,ShellApi;
type
TDragMemo = class(TMemo)
procedure DragFileProc(var Msg:TMessage);message WM_DROPFILES;
end;
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
Memo:TDragMemo;
begin
Memo:= TDragMemo.Create(nil);
memo.Parent:=self;
end;
procedure TDragMemo.DragFileProc(var Msg:TMessage);
begin
//your code
end;
end.
以上只是定义一个类,你可以将它做成一个控件,直接继承WINDOWS控件然后修改DragFileProc就可以了。
woshihaoge(支离破碎) 说的方法我知道啊。
但这样的话,如果要直接放在界面上,就要做成控件了。
我想让 edit,panel, listview....等一些控件都支持explorer的拖拽,这样写感觉有点....
还有其他方法吗?
没有办法啊,只能这样子类化,要么做成控件,以前我也研究过类似的问题,貌似书上介绍的就这办法了。
还有人能回答下么