Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.12;
Скачать: CL | DM;

Вниз

Как програмно закрыть 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
1-36763
Слэш
2003-12-01 11:53
2003.12.12
GetFileVersionInfoSize и сетевое имя файла


3-36504
vitalmoya
2003-11-22 10:02
2003.12.12
Перенос даных с Access в InterBase


1-36723
Alexadna
2003-12-02 13:02
2003.12.12
Позиция курсора в строке


14-36800
Думкин
2003-11-20 05:07
2003.12.12
С днем рождения! 20 ноября.


1-36625
Ega23
2003-12-03 10:53
2003.12.12
Сохранить картинку в файл.