以下代码是先判断对话框是否打开,如果打开则用3种方法关闭都失败了请问 opendialog1.Execute 调用出打开文件对话框后,如何程序中关闭而不是用对话框上的关闭按钮?procedure TForm1.OpenDialog1Show(Sender: TObject);
begin
OpenDialog_showing:=true;
end;procedure TForm1.OpenDialog1Close(Sender: TObject);
begin
OpenDialog_showing:=false;
end;procedure TForm1.Timer1Timer(Sender: TObject);
begin
if OpenDialog_showing then
begin
SendMessage(form1.OpenDialog1.Handle,WM_CLOSE,0,0);//失败
form1.OpenDialog1.OnClose(sender);//失败
form1.OpenDialog1.Destroy; //出错
end;
end;
begin
OpenDialog_showing:=true;
end;procedure TForm1.OpenDialog1Close(Sender: TObject);
begin
OpenDialog_showing:=false;
end;procedure TForm1.Timer1Timer(Sender: TObject);
begin
if OpenDialog_showing then
begin
SendMessage(form1.OpenDialog1.Handle,WM_CLOSE,0,0);//失败
form1.OpenDialog1.OnClose(sender);//失败
form1.OpenDialog1.Destroy; //出错
end;
end;
procedure TForm1.odlgFolderChange(Sender: TObject);
begin
Timer1.Enabled := true ;
end;procedure TForm1.Timer1Timer(Sender: TObject);
var
pHandle: THandle;
begin
Timer1.Enabled := false ;
pHandle := odlg.Handle ;
if (pHandle <> 0) then
PostMessage(pHandle,WM_CLOSE,0,0);
end;