左から[標準のイメージ]→[自作のイメージ]の順で表示させたいと思っています。
自作イメージの追加はリソースファイルに取り込んだ画像を呼び出す方法でしています。
標準のイメージは表示してくれたのですが、自作のイメージが表示されないので今回質問させていただきました。
理想としては、左から3つが標準のイメージ、続けて3つが自作のイメージとなるようにしたいです。
原因と解決策を教えていただけますでしょうか。
TBBUTTON構造体の宣言部分です。
TBBUTTON tbb[] =
{
{ STD_CUT , ID_CUT , TBSTATE_ENABLED , BTNS_BUTTON , 0 , 0 },
{ STD_COPY , ID_COPY , TBSTATE_ENABLED , BTNS_BUTTON , 0 , 0 },
{ STD_PASTE , ID_PASTE , TBSTATE_ENABLED , BTNS_BUTTON , 0 , 0 },
{ 100 , ID_CREATE_DIALOG , TBSTATE_ENABLED , BTNS_BUTTON , 0 , 0 },
{ 101 , ID_RECTSTART , TBSTATE_ENABLED , BTNS_BUTTON , 0 , 0 },
{ 102 , ID_GRABCUT , TBSTATE_ENABLED , BTNS_BUTTON , 0 , 0 },
};
HINSTANCE hInst;
HWND hTool;
TBADDBITMAP tb;
int stdid, i;
hInst = (HINSTANCE)GetWindowLongPtr(hWnd, GWLP_HINSTANCE);
hTool = CreateWindowEx(
0,
TOOLBARCLASSNAME,
NULL,
WS_CHILD | WS_VISIBLE,
0, 0,
0, 0,
hWnd,
NULL,
hInst,
NULL);
//標準
SendMessage(hTool, TB_BUTTONSTRUCTSIZE, (WPARAM)sizeof(TBBUTTON), 0);
tb.hInst = HINST_COMMCTRL;
tb.nID = IDB_STD_SMALL_COLOR;
stdid = SendMessage(hTool, TB_ADDBITMAP, (WPARAM)0, (LPARAM)&tb);
tbb[0].iBitmap += stdid;
tbb[1].iBitmap += stdid;
tbb[2].iBitmap += stdid;
SendMessage(hTool, TB_ADDBUTTONS, (WPARAM)3,(LPARAM)&tbb[0]);
//自作
tb.hInst = NULL;
tb.nID = (int)LoadBitmap(hInst,"BMP_TOOLBAR");
SendMessage(hTool, TB_ADDBITMAP, (WPARAM)3, (LPARAM)&tb);
SendMessage(hTool, TB_ADDBUTTONS, (WPARAM)3, (LPARAM)&tbb[3]);
return hTool;