Toolbar制作的一些经历

我开始用如下的函数代码创建了一个工具条:

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;

}

生成的工具条如图所示:

这是没有背景图的工具条

我把鼠标移动到按扭上方就在会画一个边框,这是扁平按扭的风格

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值