Главная страница
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.012 c
1-15149
BlackTiger
2002-12-23 16:41
2003.01.06
Есть ли линки на библиотеки картинок (glyphs) КРАСИВЫЕ?


3-14900
denary
2002-12-13 02:53
2003.01.06
Как записать символы (греческие буквы) в БД?


1-15146
adolf_99
2002-12-23 19:10
2003.01.06
Помогите


3-14946
Matolch
2002-12-14 13:33
2003.01.06
Как заставить FreeReport использовать кириллицу


3-14918
Vick
2002-12-02 16:26
2003.01.06
Сортировка в TClientDataSet