Dev::DotNet/WPF
WebBrowser Control Zoom 조절
isfry
2017. 5. 17. 17:54
일반적으로 사용하는 웹브라우져에서 확대/축소를 할 수 있고
WPF 의 WebBrowser 컨트롤에서도 확대/축소를 할 수 있지만 WebBrowser 에서 기본적으로 제공하지는 않는 것 같다.
Zoom 을 강제적으로 지정하기 위해서는 SHDocVw 참조가 필요하여 아래와 같이 하면 된다.
(참조 관리자 -> Com -> Microsoft Internet Controls)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | void SetZoom(System.Windows.Controls.WebBrowser aBrowser, double aZoomFactor) { if (aBrowser != null) { if (aBrowser != null) { FieldInfo webBrowserInfo = aBrowser.GetType().GetField("_axIWebBrowser2", BindingFlags.Instance | BindingFlags.NonPublic); if (webBrowserInfo != null) { InternetExplorer ie = webBrowserInfo.GetValue(aBrowser) as SHDocVw.InternetExplorer; if (ie != null) { object zoomPercent = (int)(aZoomFactor * 100); ie.ExecWB(SHDocVw.OLECMDID.OLECMDID_OPTICAL_ZOOM, SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DONTPROMPTUSER, ref zoomPercent, IntPtr.Zero); } } } } } | cs |