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

Вниз

WebBrowser1.ExecWB(OLECMDID_PRINTPREVIEW, 0) в свернутом виде?!   Найти похожие ветки 

 
brestmarket   (2002-11-06 14:25) [0]

Почему окно с предпросмотром при вызове WebBrowser1.ExecWB(OLECMDID_PRINTPREVIEW, 0);
запускается в свернутом (не в панель задач) а до минимальных размеров на экране? Как его развернуть на полный экран по умолчанию?


 
brestmarket   (2002-11-06 18:31) [1]

Прошу помочь. Беда приключилась по непонятной причине, хотя раньше этот код работал безукоризненно.


 
int64 ©   (2002-11-06 19:20) [2]

Это окно, по умолчанию, всегда имеет размер как у формы, вызвавшего это окно приложения.

А если нужно во весь экран, в чём проблема? Бери хендл этого окна, да и растягивай, как тебе надо.


 
brestmarket   (2002-11-07 02:44) [3]

Хорошо. Все что я делаю - вызываю WebBrowser1.ExecWB(OLECMDID_PRINTPREVIEW, 0);
На что здесь handle - если можно пример, - но я думаю, что эту задачу можно решить не просто растягиванием. Вопрос по прежнему актуален!


 
int64 ©   (2002-11-07 14:18) [4]

WebBrowser1.ExecWB(OLECMDID_PRINTPREVIEW, 0);
Wnd := FindWindow(nil, "Предварительный просмотр");
PostMessage(Wnd, WM_SYSCOMMAND, SC_MAXIMIZE,0);


А если хочешь, чтоб без этих строк - делай форму (на которой WebBrowser1) во весь экран.


 
brestmarket   (2002-11-07 23:00) [5]

Предложенный вариант тобой, конечно сработает, но наверняка, можно как-то более грамотно, чем просто поиск по заголовку окна.


 
int64 ©   (2002-11-08 00:55) [6]

Ну вот, "более грамотно":

...
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.
Логика та же: ловим-растягиваем.



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

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

Наверх




Память: 0.48 MB
Время: 0.015 c
1-15008
SI-riuss
2002-12-24 12:38
2003.01.06
StringGrid


1-15022
кондратий
2002-12-19 11:28
2003.01.06
unicode....


7-15324
~Mr.L@g~
2002-10-27 21:27
2003.01.06
Wimdows


14-15219
Anatoly Podgoretsky
2002-12-19 07:50
2003.01.06
Именинники 19 декабря


14-15315
Beginner
2002-12-18 16:28
2003.01.06
Сведения о пользователях сайта.