![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
WebBrowser1.ExecWB(OLECMDID_PRINTPREVIEW, 0) ;в свернутом виде?! [D6, WinXP]
brestmarket © (2002-11-06 14:25:00)Почему окно с предпросмотром при вызове WebBrowser1.ExecWB(OLECMDID_PRINTPREVIEW, 0);
запускается в свернутом (не в панель задач) а до минимальных размеров на экране? Как его развернуть на полный экран по умолчанию?
int64 (2002-11-08 00:55:00) [1]Ну вот, "более грамотно":
...
private
PrintPreview: boolean;
FOldWindowProc: TWndMethod;
procedure FormWndProc(var AMsg: TMessage);
...
procedure TForm1.FormCreate(Sender: TObject);
begin
FOldWindowProc:= WindowProc;
WindowProc := FormWndProc;
end;
procedure TForm1.FormWndProc(var AMsg: TMessage);
var
wnd: Integer;
Msg: TWmActivate;
begin
if AMsg.Msg = WM_ACTIVATE then
begin
Msg := TWmActivate(AMsg);
wnd := Msg.ActiveWindow;
if PrintPreview then
begin
//здесь упрявляем popup окном
MoveWindow(wnd, 0, 0, Screen.Width, Screen.Height, true);
PrintPreview := false;
end;
end;
FOldWindowProc(AMsg);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
PrintPreview := true;
WebBrowser1.ExecWB(OLECMDID_PRINTPREVIEW, 0);
end;
Это пример, как управлять Popup Windows.
Логика та же: ловим-растягиваем.
brestmarket (2002-11-07 23:00:00) [2]Предложенный вариант тобой, конечно сработает, но наверняка, можно как-то более грамотно, чем просто поиск по заголовку окна.
int64 (2002-11-07 14:18:00) [3]
WebBrowser1.ExecWB(OLECMDID_PRINTPREVIEW, 0);
Wnd := FindWindow(nil, "Предварительный просмотр");
PostMessage(Wnd, WM_SYSCOMMAND, SC_MAXIMIZE,0);
А если хочешь, чтоб без этих строк - делай форму (на которой WebBrowser1) во весь экран.
brestmarket (2002-11-07 02:44:00) [4]Хорошо. Все что я делаю - вызываю WebBrowser1.ExecWB(OLECMDID_PRINTPREVIEW, 0);
На что здесь handle - если можно пример, - но я думаю, что эту задачу можно решить не просто растягиванием. Вопрос по прежнему актуален!
int64 (2002-11-06 19:20:00) [5]Это окно, по умолчанию, всегда имеет размер как у формы, вызвавшего это окно приложения.
А если нужно во весь экран, в чём проблема? Бери хендл этого окна, да и растягивай, как тебе надо.
brestmarket (2002-11-06 18:31:00) [6]Прошу помочь. Беда приключилась по непонятной причине, хотя раньше этот код работал безукоризненно.