Hier mal Anhand einer Listbox wie man das machen kann:
Delphi-Quellcode:
unit Unit1;
interface
uses
[...]
type
TListbox =
class(StdCtrls.TListBox)
private
fOnDropFiles: TWndMethod;
procedure WMDROPFILES(
var Msg: TMessage);
Message WM_DROPFILES;
public
property OnDropFiles: TWndMethod
read fOnDropFiles
write fOnDropFiles;
end;
TForm1 =
class(TForm)
[...]
implementation
[...]
{ TListbox }
procedure TListbox.WMDROPFILES(
var Msg: TMessage);
begin
if Assigned(fOnDropFiles)
then
fOnDropFiles(Msg)
else
inherited;
end;
Und schon hat deine Listbox ein Event OnDropFiles. Diesem kannst du dann deine bisherige Methode zuweisen.
(Ja ich weiß man kann es auch direkt in die WMDropFiles-methode packen aber das entspricht nicht der Objectorientierung wenn man da mit anderen Objecten rumhantiert die Global irgendwo liegen)