Wpf ExecWB在哪里?
如果我使用WPF语法:Wpf ExecWB在哪里?,wpf,webbrowser-control,Wpf,Webbrowser Control,如果我使用WPF语法: <WebBrowser Grid.Row="1" Grid.Column="1" x:Name="htmlView"></WebBrowser> 无论哪种方式,ExecWB方法都不会公开。因此,我不能将这个代码从MFC C++的CtMLVIEW派生类中导出: ExecWB(OLECMDID_PAGESETUP, OLECMDEXECOPT_DONTPROMPTUSER, NULL, NULL); 我错过什么了吗?此时,我无法实现打印预览/页面设
<WebBrowser Grid.Row="1" Grid.Column="1" x:Name="htmlView"></WebBrowser>
无论哪种方式,ExecWB方法都不会公开。因此,我不能将这个代码从MFC C++的CtMLVIEW派生类中导出:
ExecWB(OLECMDID_PAGESETUP, OLECMDEXECOPT_DONTPROMPTUSER, NULL, NULL);
我错过什么了吗?此时,我无法实现打印预览/页面设置/缩放功能,因为我无法使用ExecWB
我已经尝试从Winforms浏览器中派生我自己的类,但它仍然没有列出
多谢各位
我不明白为什么在这个问题上:
它指的是ShowPrintDialog
,但即使没有列出
部分成功!我不知道为什么,但现在,当我使用托管Winforms版本时,我至少可以看到一些方法:
public partial class MainWindow : Window
{
System.Windows.Forms.WebBrowser htmlView= new System.Windows.Forms.WebBrowser();
public MainWindow()
{
InitializeComponent();
formsHost.Child = htmlView;
htmlView.Navigate("d:\\test.xml");
}
private void menuFilePageSetup_Click(object sender, RoutedEventArgs e)
{
htmlView.ShowPageSetupDialog();
}
private void MenuItem_Click(object sender, RoutedEventArgs e)
{
htmlView.ShowPrintPreviewDialog();
}
}
但是ExecWb在管理诸如缩放之类的事情时仍然缺失。我发现:
答案之一:
但是,即使我添加了对mshtml库的引用,编译器也不允许我从HtmlDocument转换为IHtmlDocument2。最终我得到了这个:
所以现在我知道如何选择全部并再次复制到剪贴板(只要我使用winforms版本)。然而,看了这里:
似乎没有光学变焦的对手:
ExecWB(OLECMDID_OPTICAL_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, &vZoom, NULL);
调用
ExecWb
的基本答案是:
htmlView.Document.ExecCommand的内容
SelectAll
Copy
用于剪贴板项目
显示打印对话等有本机方法
唯一似乎不被支持的观点是:
ExecWB(OLECMDID_OPTICAL_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, &vZoom, NULL);
ExecWB(OLECMDID_OPTICAL_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, &vZoom, NULL);
SelectAll
Copy
ExecWB(OLECMDID_OPTICAL_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, &vZoom, NULL);