如何在Excel任务窗格中处理用户控件,如模式对话框?

时间:2015-03-09 00:13:35

标签: excel user-controls modal-dialog excel-addins

我处理的是一个Excel加载项产品,其中包含一个任务窗格,其中包含多个用户控件。我们已将登录过程从模式UserForms对话框移动到WebBrowser控件,当用户单击“登录”功能区按钮时,该控件将显示在“任务窗格”中。

所需的行为流程为:

  1. 用户单击功能区上的“登录”按钮 - “登录”控件显示在“任务窗格”
  2. 直到登录结果(登录成功,登录失败或用户取消登录),用户无法使用excel ,就好像正在显示模式登录对话框一样
  3. 登录或取消登录后,用户可以再次使用Excel。
  4. 换句话说,我希望任务窗格控件像模态对话框一样工作。

    我的登录控件工作得很好,但我不知道如何让它模拟为模态。一旦用户单击“登录”按钮,他们就可以继续在Excel中继续工作,这是我们不想要的。

    我一直在思考一些丑陋的解决方案,比如试图阻止Excel中的每个窗口使用带有SendMessage的WM_SETREDRAW重绘并同时绑定LockWindowUpdate,但我真的希望有人知道更好的方法来完成我想要做的事情。

    顺便说一下,这种类型的功能不仅会用于登录控制,还可以将其放在模态对话框中。我们也希望对其他一些控件执行相同的操作,我们希望用户在允许它们继续使用Excel之前必须使用该控件。

0 个答案:

没有答案