将工具栏按钮样式设置为BTNS_DROPDOWN

时间:2014-12-24 13:27:41

标签: c++ atl

我正在使用C ++和ATL为Internet Explorer创建扩展。我正在尝试使用下面的代码

更改自定义工具栏按钮的样式
       // inject the drop down arrow
   bool CBHO::setButtonMenu(HWND hWndToolbar, int buttonID){
   TBBUTTONINFO inf;
    inf.cbSize=sizeof(inf);
    inf.dwMask=TBIF_STYLE;
    inf.fsStyle=BTNS_DROPDOWN | BTNS_AUTOSIZE ;

 if(SendMessage(hWndToolbar, TB_SETBUTTONINFO, (WPARAM)buttonID, (LPARAM)&inf))
    return true;
   return false;
       }

但SendMessage抛出异常(hWndToolbar,TB_SETBUTTONINFO,.....

iexplore.exe中0x74730EC5(comctl32.dll)的未处理异常:0xC0000005:访问冲突 读取位置0x035CD434。

hWndToolbar是正确的,因为我已经使用相同的hWndToolbar获得了正确的buttonText和buttonID。

请建议如何更正此错误。以及如何将我的按钮样式更改为下拉按钮。

0 个答案:

没有答案