我开始用如下的函数代码创建了一个工具条:
HWND CreateToolbar(HINSTANCE hInstance,HWND hwndParent)
{
//TBADDBITMAP tbab;
TBBUTTON tbb[6];
// TBADDBITMAP tb;
//int index , stdidx;
char szBuf[16];
int iFile,iZengda, iSuoxiao, iShezhi,iSend;
INITCOMMONCONTROLSEX icex;
icex.dwSize = sizeof(INITCOMMONCONTROLSEX);
icex.dwICC = ICC_BAR_CLASSES;
InitCommonControlsEx(&icex);
//用CreateWindowEx创建工具条
HWND hWndToolbar = CreateWindowEx(0, TOOLBARCLASSNAME, (LPSTR) NULL,
WS_CLIPCHILDREN|WS_CLIPSIBLINGS|WS_VISIBLE|WS_CHILD | CCS_ADJUSTABLE|TBSTYLE_EX_DRAWDDARROWS//弹出菜单
|TBSTYLE_FLAT
|WS_BORDER
//|TBSTYLE_TRANSPARENT
, 0, 0, 0, 0, hwndParent,
(HMENU) ID_MAIN, hInstance, NULL);
//再往上添加文字
SendMessage(hWndToolbar, TB_BUTTONSTRUCTSIZE, (WPARAM) sizeof(TBBUTTON), 0);
LoadString(hInstance,IDS_FILE,szBuf,10);
iFile=SendMessage(hWndToolbar,TB_ADDSTRING,0,(LPARAM)szBuf);
LoadString(hInstance,IDS_ZENGDA,szBuf,10);
iZengda=SendMessage(hWndToolbar,TB_ADDSTRING,0,(LPARAM)szBuf);
LoadString(hInstance,IDS_SUOXIAO,szBuf,10);
iSuoxiao=SendMessage(hWndToolbar,TB_ADDSTRING,0,(LPARAM)szBuf);
LoadString(hInstance,IDS_SHEZHI,szBuf,10);
iShezhi=SendMessage(hWndToolbar,TB_ADDSTRING,0,(LPARAM)(LPCSTR)szBuf);
LoadString(hInstance,IDS_SEND,szBuf,10);
iSend=SendMessage(hWndToolbar,TB_ADDSTRING,0,(LPARAM)szBuf);
//往上添加按扭
tbb[0].iBitmap = -1;
tbb[0].idCommand = 0;
tbb[0].fsState = TBSTATE_ENABLED;
tbb[0].fsStyle = TBSTYLE_SEP;
//TBSTYLE_BUTTON;
//TBSTYLE_DROPDOWN;
//BTNS_SEP;
tbb[0].dwData = 0;
tbb[0].iString = -1;
tbb[1].iBitmap = 1;
tbb[1].idCommand = IDS_FILE;
tbb[1].fsState = TBSTATE_ENABLED;
tbb[1].fsStyle =
TBSTYLE_BUTTON;
//BTNS_BUTTON;
tbb[1].dwData = 0;
tbb[1].iString = iFile;
....................................................
SendMessage(hWndToolbar, TB_ADDBUTTONS, (WPARAM) 6,
(LPARAM) (LPTBBUTTON) &tbb);
SendMessage(hWndToolbar, TB_AUTOSIZE, 0, 0);
SendMessage(hWndToolbar,TB_SETEXTENDEDSTYLE, (WPARAM) 0,(LPARAM) (DWORD)TBSTYLE_EX_DRAWDDARROWS );
//设置工具条每个按扭的大小
SendMessage( // returns LRESULT in lResult
hWndToolbar, // handle to destination control
TB_SETBUTTONSIZE, // message ID
0, // = 0; not used, must be zero
(LPARAM) MAKELONG (55, 55) // = (LPARAM) MAKELONG (dxButton, dyButton)
);
//ShowWindow(hWndToolbar, SW_SHOW);
return hWndToolbar;
}
生成的工具条如图所示:
我把鼠标移动到按扭上方就在会画一个边框,这是扁平按扭的风格