我已经把matlab工具栏提取出来,如:simulink.bmp,但怎么一导入VC,就提示颜色超过256色,如何解决????
高手帮忙,指点一下?
CreateToolBarEx
//填充工具条按钮结构:
TBBUTTON ptoolbar[30]={{STD_HELP, //指定Windows的标准帮助图标
MU_ONE, //工具条按钮的ID
TBSTATE_ENABLED, //可用状态
TBSTYLE_BUTTON, //指定创建一个可以下按的按钮
0, //保留,由应用程序定义该参数意义
0}, //按钮字串索引
//创建一个分割按钮用的竖线
{0,0,TBSTATE_ENABLED,TBSTYLE_SEP,0,0}};
//在对话框上动态创建工具条,并添加工具条按钮:
HWND hToolsWindow=::CreateToolbarEx(hDlg, //指定对话框为父窗口,将工具条创建在对话框上
WS_CHILD|WS_VISIBLE|TBSTYLE_WRAPABLE|TBSTYLE_TOOLTIPS|
TBSTYLE_FLAT|CCS_ADJUSTABLE,//指定工具条的创建风格
IDB_TOOLBAR,//预定义的工具条资源ID
30,HINST_COMMCTRL, //包含图片资源的可执行文件的实例句柄
IDB_STD_SMALL_COLOR,//图片的资源ID
ptoolbar, //待添加的按钮
2, //加入到工具条的按钮的个数
0,0,0,0,sizeof(TBBUTTON));
……
//从IDR_TOOLBAR1资源中装载按钮图标到对话框的工具条上
TBADDBITMAP tab;
tab.hInst=hInstance;
tab.nID=IDR_TOOLBAR1;
iBmp=::SendMessage(hToolsWindow,TB_ADDBITMAP,(WPARAM)3,(LPARAM)&tab);
完成对TBBUTTON结构的设置后可以通过窗口句柄hToolsWindow向工具条发送TB_ADDBUTTONS消息来添加按钮到工具条,如想添加按钮之间的分割条,只需将TBBUTTON结构的fsStyle成员变量取值为TBSTYLE_SEP即可:
::SendMessage(hToolsWindow,TB_ADDBUTTONS,(WPARAM)1,(LPARAM)&tb);
如果认为以上的麻烦:
CreateDialog
ShowWindow
MoveWindow
SendDlgItemMessage(tool,IDC_RADIO1,BM_SETIMAGE,IMAGE_ICON ,(LPARAM)icon);//给按钮加图标
但事先要在rc中把工具条和按钮都画出来