-
Форумчанам привет!
Собственно сабж. Пытаюсь сделать так, но ничего не выходит
procedure TForm1.Button3Click(Sender: TObject); var vaOut: OLEVariant; begin WebBrowser1.ExecWB(OLECMDID_OPTICAL_ZOOM, OLECMDEXECOPT_DODEFAULT, Null, vaOut); end;
Интересует именно OLECMDID_OPTICAL_ZOOM (т.к. с OLECMDID_ZOOM проблем нет, но это не то, что мне нужно).
-
По каким-то причинам не удается определить доступность этой команды в WB.
procedure TForm1.Button1Click(Sender: TObject); var Flags: TOleEnum; s: string; begin Flags := WebBrowser1.QueryStatusWB(OLECMDID_OPTICAL_ZOOM);
s := ''; if Flags and OLECMDF_SUPPORTED = OLECMDF_SUPPORTED then s := s + 'Команда поддерживается'#13; if Flags and OLECMDF_ENABLED = OLECMDF_ENABLED then s := s + 'Команда поддерживается и разрешена'#13; if Flags and OLECMDF_LATCHED = OLECMDF_LATCHED then s := s + 'Команда – переключатель и сейчас включена'#13; if Flags and OLECMDF_NINCHED = OLECMDF_NINCHED then s := s + 'Зарезервировано'#13; ShowMessage(s); end; Выдается пустая строка. Не смотря на это изменить коэффициент масштабирования в WB можно, а получить нет... Есть какие-нибудь идеи?
-
можно запоминать масштаб после изменения, и потом не потребуется его узнавать
-
Пользователь может изменить этот масштаб с помощью Ctrl + WheelUp/WheelDown, как об этом узнать? Ставить хук или перекрывать оконную процедуру? Это можно, конечно, но, с моей точки зрения, это явный перебор для такой простой задачки, как определение масштаба...
-
зачем хук, можно обработать и самостоятельно поменять масштаб
|