procedure TMainForm.FormCreate(Sender: TObject);
begin
DragAcceptFiles (Handle, True) ;
end ;
但形式不接受拖文件 - 沒有下降光標,沒有WM_DROPFILES消息的發射。
我有以下我FormShow事件構建(出於不同的原因 - 有代碼,我想創建表格後,只執行一次,並FormShow在初始化過程中燒製不止一次):
procedure TMainForm.FormShow(Sender: TObject);
begin
if (not FRunOnce) then // as FormShow can be called twice - if Form.Position assigned to
begin
DragAcceptFiles (Handle, True) ;
FRunOnce := True ;
end ;
end ;
DragAcceptFiles(Handle,True)在所示位置仍然不起作用。如果我將它移動到程序的頂部(所以它執行兩次),它的工作:
procedure TMainForm.FormShow(Sender: TObject);
begin
DragAcceptFiles (Handle, True) ;
if (not FRunOnce) then // as FormShow can be called twice - if Form.Position assigned to
begin
FRunOnce := True ;
end ;
end ;
所有我發現的示例代碼似乎在OnCreate中調用DragAccept。我的實驗表明這還爲時過早,OnShow的第一場火災也是如此。我確定其他地方的代碼有問題,但是可能會導致這種情況?
這是最乾淨的方法。非常感謝。 – rossmcm 2010-10-14 00:29:06