www.pudn.com > SDK 工具条,分割条,TREE 等控件演示代码.rar > toolbar.cpp


 
/* 
#include "WinMain.h" 
#include "toolbar.h" 
extern HINSTANCE hInst; 
HWND hWndToolbar; 
 
#define NUMIMAGES       20 
#define IMAGEWIDTH      18 
#define IMAGEHEIGHT     17 
#define BUTTONWIDTH     0 
#define BUTTONHEIGHT    0 
#define IDM_TOOLBAR         500 // ID for the toolbar. 
#define IDB_BMP             700  
 
 
char pszStrings[ ] = { 
	'N','E','W','\0','\0' 
}; 
char lianjie[] = "lianjie"; 
TBBUTTON tbb[2] 
 = 
{ 
    {0,   IDM_FILENEW,    
		TBSTATE_ENABLED,  
    	TBSTYLE_DROPDOWN,  
		0, 0, 0}, 
 
 
{STD_FILENEW, IDM_NEW, TBSTATE_ENABLED, BTNS_BUTTON,  
#if defined(_WIN32) | defined(_WIN64) 
{0}, 
#endif 
0L, 0}, 
 
 
}; 
BOOL CreateTBar(HWND hwnd) 
{ 
  int iNew,newi; 
  UINT ID; 
  TBADDBITMAP tb; 
  int index , stdidx; 
char pszBuf[8] = "CHANGE"; 
char pszBuf1[8] = "CHANGE1"; 
//INITCOMMONCONTROLSEX icex; 
  InitCommonControls(); 
 //InitCommonControlsEx(&icex); 
 
 
 
  hWndToolbar = CreateToolbarEx(hwnd, 
	                           WS_CHILD | WS_VISIBLE  
								| TBSTYLE_TOOLTIPS  
							//	| TBSTYLE_FLAT 
							//	| TBSTYLE_LIST 
								|TBSTYLE_EX_DRAWDDARROWS ,  
                           
                                  //WS_CHILD | WS_VISIBLE    
                                  //| CCS_ADJUSTABLE | TBSTYLE_TOOLTIPS, 
                                  IDM_TOOLBAR, 
                                  NUMIMAGES, 
                                  hInst, 
                                  IDB_BMP, 
                                  tbb, 
                                  sizeof(tbb)/ 
								  sizeof(TBBUTTON), 
                                  BUTTONWIDTH, 
                                  BUTTONHEIGHT, 
                                  IMAGEWIDTH, 
                                  IMAGEHEIGHT, 
                                  sizeof(TBBUTTON)); 
 
 
 
 
    tb.hInst = HINST_COMMCTRL; 
    tb.nID = IDB_VIEW_LARGE_COLOR; 
 
    iNew =(int)SendMessage (hWndToolbar, TB_ADDBITMAP, 0, (LPARAM)&tb);  
         
 
    SendMessage( 
        hWndToolbar, TB_ADDSTRING,(WPARAM) 0, (LPARAM)  pszBuf);  
 
	iNew = (int)SendMessage( 
        hWndToolbar, TB_MAPACCELERATOR, (WPARAM) 'N', (LPARAM) &ID); 
    iNew = (int)SendMessage(hWndToolbar,TB_SETEXTENDEDSTYLE, (WPARAM) 0,(LPARAM) (DWORD)TBSTYLE_EX_DRAWDDARROWS );    
		// returns LRESULT in lResult     (HWND) hWndControl,  
		// handle to destination control     (UINT) TB_SETEXTENDEDSTYLE,   
		// message ID     (WPARAM) wParam,   
		// = 0; not used, must be zero    (LPARAM) lParam     
		// = (LPARAM) (DWORD) dwExStyle; );   
    return (hWndToolbar != NULL); 
} 
 
 
 
 
 
 
BOOL DoNotify(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) 
{ 
#define lpnm   ((LPNMHDR)lParam) 
#define lpnmTB ((LPNMTOOLBAR)lParam) 
 
   RECT      rc; 
   TPMPARAMS tpm; 
   HMENU     hPopupMenu = NULL; 
   HMENU     hMenuLoaded; 
   BOOL      bRet = FALSE; 
 
   switch(lpnm->code){ 
      case TBN_DROPDOWN: 
         SendMessage(lpnmTB->hdr.hwndFrom, TB_GETRECT, 
                     (WPARAM)lpnmTB->iItem, (LPARAM)&rc); 
 
         MapWindowPoints(lpnmTB->hdr.hwndFrom, 
                         HWND_DESKTOP, (LPPOINT)&rc, 2);                          
 
         tpm.cbSize = sizeof(TPMPARAMS); 
         tpm.rcExclude = rc; 
         hMenuLoaded = LoadMenu(hInst, MAKEINTRESOURCE(IDR_POPUP));  
         hPopupMenu = GetSubMenu(LoadMenu(hInst, 
            MAKEINTRESOURCE(IDR_POPUP)),0); 
 
         TrackPopupMenuEx(hPopupMenu, 
            TPM_LEFTALIGN|TPM_LEFTBUTTON|TPM_VERTICAL,                
            rc.left, rc.bottom, hwnd, &tpm);  
 
         DestroyMenu(hMenuLoaded);			 
      return (FALSE); 
   } 
   return FALSE; 
} 
 
 
 
*/