如何检测用户是否正在与 PowerPoint 中的 "File Tab" 交互?
How to detect if user is interacting with "File Tab" in PowerPoint?
我正在寻找一种方法来确定用户何时单击“文件选项卡”(并且可能标记以下对话框的任何子选项卡在 PowerPoint 中显示(参见屏幕截图)。
我尝试检查 ActiveWindow.ViewType 但是当用户打开对话框时它没有改变。我还尝试检查窗格的各自“活动”属性,但当用户在此屏幕上时它也不会改变。
我也试过这段代码,但没有用。
<DllImport("user32.dll")>
Private Shared Function GetForegroundWindow() As IntPtr
End Function
If GetForegroundWindow() <> Globals.ThisAddIn.Application.HWND Then
Exit Function
End If
我注意到在显示此对话框时无法进行键盘输入,但我不知道如何在 VSTO 解决方案中进行检查。 User32 IsWindowEnabled() returns 显示对话框时为真。
有什么想法吗?
谢谢
后台UI提供了两个你感兴趣的回调:
- onShow
VBA: Sub OnShow(contextObject As Object)
C#: void OnShow(object contextObject)
Visual Basic: Sub OnShow(contextObject As Object)
C++: HRESULT OnShow([in] Object *pContextObject)
- 隐藏
VBA: Sub OnHide(contextObject As Object)
C#: void OnHide(object contextObject)
Visual Basic: Sub OnHide(contextObject As Object)
C++: HRESULT OnHide([in] Object *pContextObject)
在 Introduction to the Office 2010 Backstage View for Developers 文章中阅读更多相关信息。
我正在寻找一种方法来确定用户何时单击“文件选项卡”(并且可能标记以下对话框的任何子选项卡在 PowerPoint 中显示(参见屏幕截图)。
我尝试检查 ActiveWindow.ViewType 但是当用户打开对话框时它没有改变。我还尝试检查窗格的各自“活动”属性,但当用户在此屏幕上时它也不会改变。
我也试过这段代码,但没有用。
<DllImport("user32.dll")>
Private Shared Function GetForegroundWindow() As IntPtr
End Function
If GetForegroundWindow() <> Globals.ThisAddIn.Application.HWND Then
Exit Function
End If
我注意到在显示此对话框时无法进行键盘输入,但我不知道如何在 VSTO 解决方案中进行检查。 User32 IsWindowEnabled() returns 显示对话框时为真。
有什么想法吗? 谢谢
后台UI提供了两个你感兴趣的回调:
- onShow
VBA: Sub OnShow(contextObject As Object)
C#: void OnShow(object contextObject)
Visual Basic: Sub OnShow(contextObject As Object)
C++: HRESULT OnShow([in] Object *pContextObject)
- 隐藏
VBA: Sub OnHide(contextObject As Object)
C#: void OnHide(object contextObject)
Visual Basic: Sub OnHide(contextObject As Object)
C++: HRESULT OnHide([in] Object *pContextObject)
在 Introduction to the Office 2010 Backstage View for Developers 文章中阅读更多相关信息。