今天学习了工具栏控件,现记录下来,
1。在资源文件中添加ToolBar资源
自己画的,不是很好。呵呵
2。创建控件
在WM_CREATE消息中创建
加载工具栏图标
m_hImageList = ImageList_Create(16, 16, ILC_COLOR16 | ILC_MASK, 4, 1);
HBITMAP hBitMap = LoadBitmap(lpCreate->hInstance, MAKEINTRESOURCE(IDR_TOOLBAR1));//IDR_TOOLBAR1是资源ID
ImageList_Add(m_hImageList, hBitMap, 0);
//创建工具栏
hToolBar = CreateWindowEx(0, TOOLBARCLASSNAME, NULL,
WS_CHILD | WS_VISIBLE | WS_BORDER|TBSTYLE_TOOLTIPS,
0, 0, 0, 0, hWnd, (HMENU)IDC_TOOLBAR1, lpCreate->hInstance, 0);
//设置工具栏的图像列表
SendMessage(hToolBar, TB_SETIMAGELIST, 0, (LPARAM)m_hImageList);
//创建四个按钮
TBBUTTON btn1, btn2, btn3, btn4;
btn1.iBitmap = 0;
btn1.fsState = TBSTATE_ENABLED;
btn1.fsStyle = TBSTYLE_BUTTON;
btn1.idCommand = ID_BTN_ADD;
btn1.iString = 0;
btn2.iBitmap = 1;
btn2.fsState = TBSTATE_ENABLED;
btn2.fsStyle = TBSTYLE_BUTTON;
btn2.idCommand = ID_BTN_EDIT;
btn2.iString = 0;
btn3.iBitmap = 2;
btn3.fsState = TBSTATE_ENABLED;
btn3.fsStyle = TBSTYLE_BUTTON;
btn3.idCommand = ID_BTN_DELETE;
btn3.iString = 0;
btn4.iBitmap = 3;
btn4.fsState = TBSTATE_ENABLED;
btn4.fsStyle = TBSTYLE_BUTTON;
btn4.idCommand = ID_BTN_FIND;
btn4.iString = 0;
TBBUTTON btns[4] = { btn1,btn2,btn3,btn4 };
SendMessage(hToolBar, TB_ADDBUTTONS, 4, (LPARAM)&btns); //添加按钮到工具栏中
SendMessage(hToolBar, TB_AUTOSIZE, 0, 0); //自适应窗口大小,窗口改变要在WM_SIZE消息中重发这消息
ShowWindow(hToolBar, TRUE);
运行效果:
点第一个按钮弹出提示框
点第三个按钮弹出的提示框