C++ WinCE6下的CommandBar

C++ WinCE6下的CommandBar,c++,windows-ce,toolbar,atl,commandbar,C++,Windows Ce,Toolbar,Atl,Commandbar,我目前正在从事一个跨平台的项目,在这方面我是个新手 我尝试使用CommandBar为各种平台创建自定义工具栏。它在CE7、WindowsMobile 6和WindowsMobile 6.5.3下工作。它在CE6下不起作用 以下代码是引发问题的部分: const TBBUTTON tbBtns[] = { {2, 267, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0}, {0, 268, TBSTATE_ENABLED, TBSTYL

我目前正在从事一个跨平台的项目,在这方面我是个新手

我尝试使用CommandBar为各种平台创建自定义工具栏。它在CE7、WindowsMobile 6和WindowsMobile 6.5.3下工作。它在CE6下不起作用

以下代码是引发问题的部分:

const TBBUTTON tbBtns[] = {
        {2, 267, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0},
        {0, 268, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0},
        {1, 269, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0},
        {3, 270, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0},
    };  
    HWND hWndCB = CommandBar_Create(_AtlBaseModule.m_hInst, m_hWnd, 208);

    CommandBar_AddBitmap(hWndCB, _AtlBaseModule.m_hInst, IDB_BTNS, 4, 16, 16);


    CommandBar_AddButtons(hWndCB,4,tbBtns);

    CommandBar_Show(hWndCB, TRUE);
我用CE6设备调试了这个程序,我得到了一个有四个空按钮的工具栏。在CommandBar_Create()之后使用GetLastError()时,我得到以下系统错误代码:

错误\u调用\u未\u实现120(0x78)

此系统不支持此功能

我不明白为什么CE6不支持这个功能。在MSDN库中,该方法定义为WINCE函数

有人能告诉我怎么解决这个问题吗?否则,我也会接受为CE6、CE7和WindowsMobile创建工具栏的不同方式


提前谢谢

CommandBar\u Create返回NULL或有效句柄? 如果你在屏幕上看到一个条,我想是后者,所以检查错误代码是没有用的。成功的函数调用通常不会重置GetLastError返回的值。
如果按钮为空,请检查用于按钮的位图是否链接到exe且格式兼容。

CommandBar\u Create与所有CommandBar函数一样,返回一条成功提示。我可以在屏幕上看到这个条。按钮后面的动作也能很好地工作。我也这么认为,问题出在位图上,但所有内容都链接正确,并且格式正确,为16x16像素。同样的代码适用于windows mobile 6和6.5.3,但不适用于CE6…是否检查位图格式(颜色深度等)?在VS中打开.exe文件应允许您查看资源是否正确嵌入到可执行文件中。