//使按钮可以支持文本与图片
  SendMessage(m_hWnd,   TB_SETEXTENDEDSTYLE,   0,   (LPARAM)TBSTYLE_EX_DRAWDDARROWS);
  //设置按钮的大小
  SendMessage(m_hWnd,   TB_BUTTONSTRUCTSIZE,   sizeof(TBBUTTON),   0);   
  //设置文本框的文本最大长度
  SendMessage(m_hWnd,   TB_SETMAXTEXTROWS,   1,   0L);   
    
  //添加按钮的标题
  TCHAR*   pCaption   =   _T("MEUU");   
  int   iIndex   =   ::SendMessage(m_hWnd,   TB_ADDSTRING,   0,(LPARAM)pCaption);   
  pCaption=_T("交友");   
  iIndex   =::SendMessage(m_hWnd,TB_ADDSTRING,0,(LPARAM)pCaption);   
  pCaption=_T("活动");   
  iIndex   =::SendMessage(m_hWnd,TB_ADDSTRING,0,(LPARAM)pCaption);   
  pCaption=_T("博客");   
  iIndex   =::SendMessage(m_hWnd,   TB_ADDSTRING,   0,(LPARAM)pCaption);     //加载按钮的图标与创建图片列表
  HICON   hMotley   =   LoadIcon(_Module.GetResourceInstance(),   MAKEINTRESOURCE(IDI_MOTLEY));   
  m_hImageList   =   ImageList_Create(16,16,   ILC_COLOR16,   1,   0);   
  int   iImageIndex   =   ImageList_AddIcon(m_hImageList,   hMotley);   
  DestroyIcon(hMotley);   
  hMotley   =   LoadIcon(_Module.GetResourceInstance(),   MAKEINTRESOURCE(IDI_MOTLEY));   
  iImageIndex   =   ImageList_AddIcon(m_hImageList,   hMotley);   
  DestroyIcon(hMotley);  //设置工具条的图片
  ::SendMessage(m_hWnd,   TB_SETIMAGELIST,   0,   (LPARAM)m_hImageList);  /*TBBUTTON Buttons[3];
  ZeroMemory((void*)&Buttons,sizeof(Buttons)/sizeof(TBBUTTON));  
/*  Buttons[0].iString=1;
  Buttons[0].fsState=TBSTATE_ENABLED;
  Buttons[0].fsStyle=TBSTYLE_BUTTON;
  Buttons[0].iBitmap=0;
  Buttons[0].dwData=0L;
  Buttons[0].idCommand=IDM_GETQUOTE;  //Buttons[1].iString=2;
  Buttons[1].fsState=TBSTATE_ENABLED;
  Buttons[1].fsStyle=TBSTYLE_SEP;
  //Buttons[1].iBitmap=0;
  Buttons[1].dwData=0L;
  //Buttons[1].idCommand=IDM_FRIENDS;  Buttons[2].iString=3;
  Buttons[2].fsState=TBSTATE_ENABLED;
  Buttons[2].fsStyle=TBSTYLE_BUTTON;
  Buttons[2].iBitmap=0;
  Buttons[2].dwData=0L;
  Buttons[2].idCommand=IDM_ACTIVITY;*/
  //*************************************************************************************************
  /*TBBUTTON   tbButtons   [2]   =     
  {   
  {0,   IDM_GETQUOTE,   TBSTATE_ENABLED,   TBSTYLE_BUTTON,   0L,   0},   
    
    
  {1,   IDM_FRIENDS,   TBSTATE_ENABLED,   TBSTYLE_SEP,   0L,   0},   
    
    
  };     
    
  ::SendMessage(m_hWnd,   TB_ADDBUTTONS,2,   (LPARAM)&tbButtons);   
  int   i=::SendMessage(m_hWnd,   TB_BUTTONCOUNT,0,   0);     //*************************************************************************
  /*
  for (int i=0;i!=3;++i){
Buttons[i].dwData=0L;
Buttons[i].fsState=TBSTATE_ENABLED;
Buttons[i].fsStyle=TBSTYLE_BUTTON;
Buttons[i].iBitmap=0;
Buttons[i].iString=i+1;
Buttons[i].idCommand=IDM_GETQUOTE+i;
  }  ::SendMessage(m_hWnd,TB_ADDBUTTONS,(WPARAM)3, (LPARAM)(LPTBBUTTON)&Buttons);*/  //   add   the   button   for   the   toolbar   to   the   window
  TBBUTTON   Button;   
  ZeroMemory((void*)&Button,   sizeof(TBBUTTON));   
  Button.idCommand   =   IDM_GETQUOTE;   
  Button.fsState   =   TBSTATE_ENABLED;   
  //Button.fsStyle = TBSTYLE_BUTTON | TBSTYLE_AUTOSIZE;
  Button.dwData   =   0L;   
  Button.iString   =   1;   
  Button.iBitmap   =   0;   
  ::SendMessage(m_hWnd,   TB_INSERTBUTTON,   (WPARAM)1,   (LPARAM)&Button);//Maybe is TB_ADDBUTTONS command  TBBUTTON   Button1;   
  ZeroMemory((void*)&Button1,   sizeof(TBBUTTON));   
  Button1.idCommand=IDM_FRIENDS;   
  Button1.fsState   =   TBSTATE_ENABLED;   
  //Button1.fsStyle = TBSTYLE_BUTTON | TBSTYLE_AUTOSIZE;
  Button1.dwData   =   0L;   
  Button1.iString   =   2;   
  Button1.iBitmap   =   0;   
  ::SendMessage(m_hWnd,   TB_INSERTBUTTON,(WPARAM)2,   (LPARAM)&Button1);  TBBUTTON   Button2;   
  ZeroMemory((void*)&Button2,   sizeof(TBBUTTON));   
  Button2.idCommand=IDM_ACTIVITY;   
  Button2.fsState   =   TBSTATE_ENABLED;   
  //Button2.fsStyle = TBSTYLE_BUTTON | TBSTYLE_AUTOSIZE;
  Button2.dwData   =   0L;   
  Button2.iString   =   3;   
  Button2.iBitmap   =   0;   
  ::SendMessage(m_hWnd,   TB_INSERTBUTTON,(WPARAM)0,   (LPARAM)&Button2);   
    
  //   create   our   EditQuote   window   and   set   the   font.   
  RECT   rect   =   {0,0,0,0};   
  m_EditWnd.Create(m_hWnd,   rect,   NULL,   WS_CHILD|WS_VISIBLE,   WS_EX_CLIENTEDGE);   
  m_EditWnd.SetFont(static_cast<HFONT>(GetStockObject(DEFAULT_GUI_FONT)));

解决方案 »

  1.   

    上面的代码贴多了```不好意思//使按钮可以支持文本与图片
      SendMessage(m_hWnd,   TB_SETEXTENDEDSTYLE,   0,   (LPARAM)TBSTYLE_EX_DRAWDDARROWS);
      //设置按钮的大小
      SendMessage(m_hWnd,   TB_BUTTONSTRUCTSIZE,   sizeof(TBBUTTON),   0);   
      //设置文本框的文本最大长度
      SendMessage(m_hWnd,   TB_SETMAXTEXTROWS,   1,   0L);   
        
      //添加按钮的标题
      TCHAR*   pCaption   =   _T("MEUU");   
      int   iIndex   =   ::SendMessage(m_hWnd,   TB_ADDSTRING,   0,(LPARAM)pCaption);   
      pCaption=_T("交友");   
      iIndex   =::SendMessage(m_hWnd,TB_ADDSTRING,0,(LPARAM)pCaption);   
      pCaption=_T("活动");   
      iIndex   =::SendMessage(m_hWnd,TB_ADDSTRING,0,(LPARAM)pCaption);   
      pCaption=_T("博客");   
      iIndex   =::SendMessage(m_hWnd,   TB_ADDSTRING,   0,(LPARAM)pCaption);     //加载按钮的图标与创建图片列表
      HICON   hMotley   =   LoadIcon(_Module.GetResourceInstance(),   MAKEINTRESOURCE(IDI_MOTLEY));   
      m_hImageList   =   ImageList_Create(16,16,   ILC_COLOR16,   1,   0);   
      int   iImageIndex   =   ImageList_AddIcon(m_hImageList,   hMotley);   
      DestroyIcon(hMotley);   
      hMotley   =   LoadIcon(_Module.GetResourceInstance(),   MAKEINTRESOURCE(IDI_MOTLEY));   
      iImageIndex   =   ImageList_AddIcon(m_hImageList,   hMotley);   
      DestroyIcon(hMotley);  //设置工具条的图片
      ::SendMessage(m_hWnd,   TB_SETIMAGELIST,   0,   (LPARAM)m_hImageList);  //   add   the   button   for   the   toolbar   to   the   window
      TBBUTTON   Button;   
      ZeroMemory((void*)&Button,   sizeof(TBBUTTON));   
      Button.idCommand   =   IDM_GETQUOTE;   
      Button.fsState   =   TBSTATE_ENABLED;   
      //Button.fsStyle = TBSTYLE_BUTTON | TBSTYLE_AUTOSIZE;
      Button.dwData   =   0L;   
      Button.iString   =   1;   
      Button.iBitmap   =   0;   
      ::SendMessage(m_hWnd,   TB_INSERTBUTTON,   (WPARAM)1,   (LPARAM)&Button);//Maybe is TB_ADDBUTTONS command  TBBUTTON   Button1;   
      ZeroMemory((void*)&Button1,   sizeof(TBBUTTON));   
      Button1.idCommand=IDM_FRIENDS;   
      Button1.fsState   =   TBSTATE_ENABLED;   
      //Button1.fsStyle = TBSTYLE_BUTTON | TBSTYLE_AUTOSIZE;
      Button1.dwData   =   0L;   
      Button1.iString   =   2;   
      Button1.iBitmap   =   0;   
      ::SendMessage(m_hWnd,   TB_INSERTBUTTON,(WPARAM)2,   (LPARAM)&Button1);  TBBUTTON   Button2;   
      ZeroMemory((void*)&Button2,   sizeof(TBBUTTON));   
      Button2.idCommand=IDM_ACTIVITY;   
      Button2.fsState   =   TBSTATE_ENABLED;   
      //Button2.fsStyle = TBSTYLE_BUTTON | TBSTYLE_AUTOSIZE;
      Button2.dwData   =   0L;   
      Button2.iString   =   3;   
      Button2.iBitmap   =   0;   
      ::SendMessage(m_hWnd,   TB_INSERTBUTTON,(WPARAM)0,   (LPARAM)&Button2);   
        
      //   create   our   EditQuote   window   and   set   the   font.   
      RECT   rect   =   {0,0,0,0};   
      m_EditWnd.Create(m_hWnd,   rect,   NULL,   WS_CHILD|WS_VISIBLE,   WS_EX_CLIENTEDGE);   
      m_EditWnd.SetFont(static_cast<HFONT>(GetStockObject(DEFAULT_GUI_FONT)));