2016-08-05 14 views
0

私のプログラムの断片です。最後にTB_LOADIMAGESメッセージを新しく作成したツールバーに送ります。TB_LOADIMAGESメッセージは有効なカウントを返しますか?

hWndToolbar = CreateWindowEx(0, TOOLBARCLASSNAME, TEXT("This is the toolbar"), WS_CHILD | TBSTYLE_TOOLTIPS, 
    0, 500, 200, 32, hWndMain, (HMENU) ID_TOOLBAR, hInstance, NULL); 
if (!hWndToolbar) return false; 

const int numButtons = 3; 
TBBUTTON tbButtonsAdd[numButtons] = { 
    {MAKELONG(HIST_BACK,0), IDM_ABOUT, TBSTATE_ENABLED, BTNS_AUTOSIZE, {0}, 0, (INT_PTR) TEXT("junk")}, 
    {MAKELONG(HIST_FORWARD,0), IDM_ABOUT, TBSTATE_ENABLED, BTNS_AUTOSIZE, {0}, 0, (INT_PTR) TEXT("two")}, 
    {MAKELONG(HIST_FAVORITES,0), IDM_ABOUT, TBSTATE_ENABLED, BTNS_AUTOSIZE, {0}, 0, (INT_PTR) TEXT("three")} 
}; 

debugInt = SendMessage(hWndToolbar, TB_LOADIMAGES, (WPARAM)IDB_HIST_SMALL_COLOR, (LPARAM)HINST_COMMCTRL); 

は、私はhereはSendMessage関数からの戻り値を読んだによると()イメージリスト内の画像の数でなければなりませんが、私はいつも、私はドキュメントを誤読0アムを見ていますか?私は失敗として0を読むでしょう。

ツールバーが正常に動作しているように見え、ロードされたイメージが実際にそこにあります。

答えて

1

このマニュアルは誤解を招くような内容です。戻り値は、実際には、画像リストに追加された最初の画像のインデックス(すなわち、の前に存在し、新しい画像が追加されたの数)を示します。

このメッセージを初めて送信すると(以前は自分の空でない画像リストをツールバーに割り当てていなかったと仮定します)、0は成功のための期待リターンです。画像をもう一度送信すると、別の値が返されます。

+0

ありがとうございます。戻り値は後で画像を参照するための基底として有用であることがわかります。 –

関連する問題