Windows API学习笔记(4)---创建工具栏过程

 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的长度。


posted @ 2007-03-25 17:14  巨巨  阅读(360)  评论(0编辑  收藏  举报