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

Вниз

Програмное закрытие модального окна (диалог)   Найти похожие ветки 

 
Александр В.   (2004-10-20 15:55) [0]

Здравствуйте!
Помогите решить такую проблему:
На принт диалог добавляю свою кнопку "Просмотр".
Необходимо чтобы при нажатии на неё принт диалог
реагировал так же как и на нажатие (его) кнопки "ОК".
Пробовал
  SendMessage(PD.HWND,WM_Char,Ord(#13),0);
не помогает.
Заранее благодарен.


 
-=SS=- ©   (2004-10-20 16:47) [1]

В чём собственно проблема пподробней монжо ?


 
Александр В.   (2004-10-20 17:44) [2]

Необходимо на PrintDialog поместить свою кнопку
при нажатии на которую диалог закрывается, а контрол
TPrintDialog возвращал установленные пользователем
режимы, PrintRange и пр..
Как это сделал я:
кнопка "Просмотр" лежит на панели, которую собственно и
кидаем на PrintDialog, иначе, если кидать только батон,
то он отказывается обрабатывать события. Такая практика
почерапана из Dialogs.pas.
//Old_Wnd:THandle - переменная модуля
{ В обработчике события OnShow PrintDialog
 кидаем панель с батоном на диалог
}
procedure TForm1.PDShow(Sender: TObject);
var
 r:Trect;
begin
Old_Wnd:=Windows.SetParent(pnl_btn.Handle,PD.Handle);
Windows.GetClientRect(PD.Handle,r);
pnl_btn.Left:=13;pnl_btn.Top:=r.Bottom-pnl_btn.Height-12;
pnl_btn.Visible:=True;
end;

//а в обработчике события OnClose возвращаем на родину.

procedure TfRepMan.PDClose(Sender: TObject);
begin
pnl_btn.Visible:=False;
Windows.SetParent(pnl_btn.Handle,Self.Handle);
end;

//Так вот. В обработчике OnClick батона необходимо

procedure TfRepMan.Button1Click(Sender: TObject);
begin
{закрыть диалог и получить установленные пользоваетелм
настройки, PrintRange и пр.. Вся проблема в том, что
каким бы методом я ни пробовал закрывать эффект как от нажатия
клавиши "Отмена" или Esc. Может я чего не так делаю.
}
// Пробовал так:
keybd_event(VK_RETURN,0,0,0);
keybd_event(VK_RETURN,0,KEYEVENTF_KEYUP,0);
// и так
SendMessage(Self.Handle,WM_CHAR,Word(#13),0);

//SendMessage(PD.Handle,WM_CLOSE,0,0);

end;



Страницы: 1 вся ветка

Текущий архив: 2004.12.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.04 c
9-1091374987
Evgeniy_K
2004-08-01 19:43
2004.12.05
DDSCL_EXCLUSIVE


1-1100876680
Shamansky
2004-11-19 18:04
2004.12.05
Событие при перемещении формы


4-1096510724
The-13th-Angel
2004-09-30 06:18
2004.12.05
Как отследить изменение реестра и копирование файлов


6-1096457916
Наташа
2004-09-29 15:38
2004.12.05
Как можно скачать файл при помощи IdHTTP ?


9-1091170595
VolanD
2004-07-30 10:56
2004.12.05
Где взять графику?