Конференция ".Net" » Аналог WebBrowser.ExecWB в .NET
 
  • X9 © (11.06.08 08:00) [0]
    Столкнулся с проблемой передачи управляющих команд в WebBrowser. При работе с ним через OLE имеется функция ExecWB. А вот как, к примеру, изменить размер шрифта при использовании нативного компонента System.Windows.Forms.WebBrowser?
  • clickmaker © (11.06.08 13:00) [1]
    размер шрифта чего? всей страницы, что-ли?
  • X9 © (11.06.08 13:23) [2]
    Ну, можно и так сказать. Интересует дейтвие, производимое при нажатие Ctrl+Scroll. Также, нужно передавать и другие команды, такие, как копирование, выделение области и др.
  • clickmaker © (11.06.08 13:31) [3]
    Открываем msdn, вводим ExecWB, идем в MSHTML Command Identifiers и смотрим...

    наверно, что-то типа IDM_BASELINEFONT1 или IDM_FONTSIZE
  • clickmaker © (11.06.08 13:48) [4]
    а, тут же вин формс...
    Scale(), может тогда?
  • X9 © (11.06.08 13:50) [5]
    Scale - это уменьшение самого компонента. Мне же нужно лишь уменьшить шрифт. Да и как быть с копированием?

    А у WinFormого WebBrowser НЕТ метода ExecWB, и ничего похожего на него тоже нет :(
  • clickmaker © (11.06.08 14:00) [6]
    а через WB.Document.ExecCommand?
  • X9 © (11.06.08 14:10) [7]
    > [6] clickmaker ©   (11.06.08 14:00)
    > а через WB.Document.ExecCommand?

    Спасибо, будем посмотреть!
  • X9 © (11.06.08 17:26) [8]
    Всё, разобрался.

    Если кому нужно, вот работающий код:

               webBrowser1.Document.ExecCommand("SelectAll", false, null); // Иначе ничего не произойдёт
               webBrowser1.Document.ExecCommand("FontSize", false, 4); // При значении последнего аргумента = 4, размер шрифта будет прежним. При <4 - меньше, при >4, соответственно, больше.



    2 clickmaker, большое спасибо за помощь!
  • X9 © (11.06.08 17:31) [9]
    + ещё нужно добавить
    webBrowser1.Document.ExecCommand("Unselect", false, null);

    , чтобы очистить выделение.
  • X9 © (12.06.08 06:10) [10]
    Кстати, вдруг кому пригодитя. Для WebBrowser всё-таки можно выполнить ExecWB:

    using mshtml;
    ...
    (webBrowser1.ActiveXInstance as IWebBrowser2).ExecWB(...)



    В References нужно добавить mshtml.tlb из %systemroot%\system32.
  • bon (25.02.10 00:36) [11]
 
Конференция ".Net" » Аналог WebBrowser.ExecWB в .NET
Есть новые Нет новых   [118657   +21][b:0][p:0.001]