各位高手,目前学习遇到一个问题,在用ATL编写Outlook Addin 插件时,使用Ribbon XML 显示了一个自定义的Gallery控件,想要实现控件Label 随鼠标点击子项按钮而动态改变,目前遇到的问题是:Gallery 控件已完成getlabel属性回调函数GetLabel, 而且Debug调试,可以看到传出的BSTR* pstrlabel 值变化,而且在按钮的点击回调函数中也已经使用了InvalidateControl(“控件ID”)来进行重绘,目前现象是运行时不显示Label信息,也已经试过ShowLabel = “true”,但同样的结果,不知道那里除了错误,或纰漏。
 请高手解答!!!!
 附代码:
 STDMETHODIMP CConnect::OnGetLabel(IDispatch* pControl, BSTR* pbstrLabel)
 {
     UNREFERENCED_PARAMETER(pControl);
     HRESULT hResult = S_FALSE;
     do 
     {
         BSTR bstrTempLabel = m_bstrLabel.AllocSysString();
         pbstrLabel = &bstrTempLabel;
         hResult = S_OK;
     } while (FALSE);
 
    return hResult;
 }
 
STDMETHODIMP CConnect::ButtonFourDaysClicked(IDispatch* pControl)
 {
     UNREFERENCED_PARAMETER(pControl);
     HRESULT hResult = S_FALSE;
     do 
     {
         m_bstrLabel = _T("Interval Days:Four");
         BSTR bstrControlID = SysAllocString(UPDATE_CONTROL);
         m_pRibbonUI->InvalidateControl(bstrControlID);
         SysFreeString(bstrControlID);
     } while (FALSE);
     return hResult;
 }