Главная страница
    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.45 MB
Время: 0.035 c
1-1100672355
Azazello
2004-11-17 09:19
2004.12.05
Выделение ячейки в StringGrid


14-1100829369
тт
2004-11-19 04:56
2004.12.05
Где можно скачать файлы помощи на русском?


3-1099945177
kirilllius
2004-11-08 23:19
2004.12.05
временный файл Access


1-1100579553
ККВ
2004-11-16 07:32
2004.12.05
Количество фом проекта


14-1100587964
Rouse_
2004-11-16 09:52
2004.12.05
С Днем Рождения 16 ноября





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский