Форум: "Основная";
Текущий архив: 2003.12.12;
Скачать: [xml.tar.bz2];
ВнизКак програмно закрыть OpenDialog ? Найти похожие ветки
← →
Альф (2003-12-01 15:28) [0]Ведь у него нету метода Close - хотя обработчик OnClose есть.
procedure TForm1.FormActivate(Sender: TObject);
begin
OpenDialog1.Execute();
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
// А вот тут необходимо закрыть OpenDialog1
end;
← →
serge (2003-12-01 15:34) [1]procedure .....
var OD : TOpenDialog;
begin
OD:=TOpenDialog.Create(...);
if OD.Execute then
...
OD.Free;
end;
← →
PVOzerski (2003-12-01 15:37) [2]Дык ведь модальный он...
Найти выход, IMHO, можно - из другого thread"а послать разумное сообщение (вернее всего, сработает тривиальное WM_CLOSE) - только вот, видимо, не прямо хэндлу =OpenDialog1.Handle, а =GetParent(OpenDialog1.Handle). Зачем в VCL сделано так - не знаю, но опыт свидетельствует о такой тонкости.
← →
Альф (2003-12-01 15:42) [3]Озерский - Вы гений ! и как я сам не додумался :(
потому как
SendMessage(OpenDialog1.Handle, WM_CLOSE, 0,0);
действительно не срабатывало :(
← →
serge (2003-12-01 15:46) [4]sorry ia voobse ne v temu napisal :o(
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.12.12;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.008 c