强制嵌入式Acrobat查看器捕获鼠标滚轮

时间:2015-05-25 11:59:21

标签: c# winforms acrobat mousewheel acrobat-sdk

我在C#winform应用程序中有一个嵌入式Acrobat查看器。 查看器位于标签控件

中的标签页tabPage1

我使用此答案中的代码:(1)

CAcroAVDoc acroExchAVDoc;
CAcroPDDoc pdDoc; 

void CreatePdfViewerAndOpenFile(string pdfFile)
{
    short AV_DOC_VIEW = 2;
    short PDUseBookmarks = 3;
    short AVZoomFitWidth = 2;

    Type AcroExch_AVDoc = Type.GetTypeFromProgID("AcroExch.AVDoc");
    acroExchAVDoc = (Acrobat.CAcroAVDoc)Activator.CreateInstance(AcroExch_AVDoc);
    bool ok = acroExchAVDoc.OpenInWindowEx(pdfFile, tabPage1.Handle.ToInt32(), AV_DOC_VIEW, -1, 0, PDUseBookmarks, AVZoomFitWidth, 0, 0, 0);
    pdDoc = (CAcroPDDoc)acroExchAVDoc.GetPDDoc();
}

我想强制观众捕捉鼠标滚轮,以便文件滚动。

当我切换到另一个窗口并返回应用程序时,我发现标签页名称已聚焦,文件不会滚动。

我使用的是Adobe Acrobat DC。 有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

观看者在聚焦时是否滚动?

如果是,只需在表单再次激活时将焦点设置回查看器。

您始终可以向观看者发送WM_MOUSEWHEEL。阅读here