私は現在、クロスプラットフォームプロジェクトに取り組んでおり、このテーマについてはかなり新しいです。
CommandBar を使用して、さまざまなプラットフォーム用のカスタム ツールバーを作成してみました。CE7、Windows Mobile 6、および Windows Mobile 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 デバイスでプログラムをデバッグしたところ、空のボタンが 4 つあるツールバーが表示されました。CommandBar_Create() の後に GetLastError() を使用すると、次のシステム エラー コードが表示されました。
ERROR_CALL_NOT_IMPLEMENTED 120 (0x78)
この機能は、このシステムではサポートされていません。
この機能が CE6 でサポートされない理由がわかりません。MSDN ライブラリでは、メソッドは WINCE 関数として定義されています。
誰かがこの問題を解決する方法を説明できますか? それ以外の場合は、CE6、CE7、および Windows Mobile 用のツールバーを作成するさまざまな方法も受け入れます。
前もって感謝します!