VC中工具栏和状态栏的生成很容易,但是用API来创建工具栏就不是很容易了。参照MSDN下面是对工具栏和状态栏的创建详细的描述。
1)工具栏的创建过程。
首先定义工具栏和工具栏图片的ID
#define IDR_TOOLBAR1 1
#define IDB_BITMAP1 2
下面是TBBUTTON数据结构的定义
TBBUTTON tbButton[ ] =
{
{0, IDM_LINE, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0},
{0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, 0, 0},
{1, IDM_ELLIPSE, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0},
{0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, 0, 0},
{2, IDM_RECTANGLE,TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0},
};
第一个参数是: 按钮所使用的图片的序号;第二个参数:按钮对应的菜单的ID号;第三个参数:按钮的状态
第四个参数是:按钮的样式;第五个参数是:应用程序定义的数据,一般为0;第六个参数:所对应的按钮的提示信息的提示信息。
在定义之前需要先初始化通用控件:
INITCOMMONCONTROLSEX icex;
// Ensure that the common control DLL is loaded.
icex.dwSize = sizeof(INITCOMMONCONTROLSEX);
icex.dwICC = ICC_BAR_CLASSES;
InitCommonControlsEx(&icex);
然后调用CreateToolBarEx()函数创建工具条。
hToolBar = CreateToolbarEx(hWnd,
WS_CHILD | WS_VISIBLE
| CCS_ADJUSTABLE | TBSTYLE_TOOLTIPS,
IDR_TOOLBAR1,
5,
hInst,
IDB_BITMAP1,
tbButton,
sizeof(tbButton)/sizeof(TBBUTTON),
16,
15,
0,0,
sizeof(TBBUTTON));
参数说明:第一个参数:父窗口的句柄;第二个参数:工具栏的样式;第三个参数:工具栏的ID;第四个参数:按钮的个数(分隔条也算一个);第五个参数:实例句柄;第六个参数:工具栏所用的图片的ID;第七个参数:工具栏数组的地址;第八个参数:添加到工具栏的按钮的个数;第九个参数:添加到工具栏的按钮的宽度;第十个参数:添加到工具栏的按钮的高度;第十一个参数:每个按钮图片的宽度;第十二个参数:每个按钮图片的高度;第十三个参数:TBBUTTON的长度。