Заставить встроенный Acrobat Viewer захватить колесо мыши

У меня есть встроенный Acrobat Viewer в Winform приложении C#. Зритель находится на вкладке 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 ответ

Прокручивает ли зритель фокус?

Если да, просто верните Фокус на зрителя, когда ваша Форма снова станет активной.

Вы всегда можете отправить WM_MOUSEWHEEL зрителю. Читать здесь

Другие вопросы по тегам