Outlook 2003 中没有标题的自定义属性页
我正在 C++ 中将自定义 Outlook 属性页实现为 ActiveX 控件,按照 这篇文章。
基本上,我注意到,当将初始化对象(我的 ActiveX 对象)传递给命名空间事件“OpetionsPagesAdd”内获得的属性页上的“raw_add”方法时,第二个参数(属性页选项卡标题)在 Outlook 2003 中被忽略在 2007 年和 2010 年,我的代码工作得非常好,只有在 2003 年,第二个参数似乎被忽略了。
我确信我过去曾遇到过一些文章,将其描述为 Outlook 2003 中的一个已知错误,但我想知道是否有人找到了解决该问题的方法?我发现 这篇文章 描述了相同的问题和解决方案,但那是为了C#,我一辈子都看不出如何将他的“修复”移植到 C++。
I am implementing a custom Outlook Property page in C++ as an ActiveX control as per this article.
Basically, I have noticed that when passing an initialized object (my ActiveX object) to the 'raw_add' method on the property pages obtained within the namespace event 'OpetionsPagesAdd', the second parameter (the property page tab title) is ignored in Outlook 2003. In 2007 and 2010 my code works absolutely fine, only in 2003 does that second parameter seem to be ignored.
I'm sure I have come across articles in the past describing this as a known bug in Outlook 2003, but I was wandering if anyone had found a way around the issue? I found this article describing the same issue, and the resolution, but that is for C#, and I can't for the life of me see how to port his 'fix' to C++.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我最终向 Microsoft 提出了针对此问题的支持案例,这是 Outlook 2003 中的一个错误。解决方法是从公共 IDispatchImpl 派生并在 prop 映射中定义标题属性:
( PROP_ENTRY_TYPE("Caption", DISPID_CAPTION, CLSID_PropPage, VT_BSTR)
然后实现 put_caption 和 get_caption 方法,它应该可以工作。
I ended up raising a support case with Microsoft for this issue, and it is a bug in Outlook 2003. The way around it is to derive from public IDispatchImpl and define the caption property in the prop map:
( PROP_ENTRY_TYPE("Caption", DISPID_CAPTION, CLSID_PropPage, VT_BSTR)
Then implement the put_caption and get_caption methods and it should work.