求教高手,如何将工具栏按钮上的文字置中呀?
还有如何修改文字大小,是先设置CFont m_Font变量么?

解决方案 »

  1.   

    我想问你的是你工具栏上的按钮是不是你自己创建的, 还是画上去的, 如果是画上去的, 你想怎么画显示出来的就是你画的.
    如果按钮是你自己创建的, 那么可以设置按钮的属性来是工具栏上的文字置中
    函数原型为:
    virtual BOOL Create(
       LPCTSTR lpszCaption,
       DWORD dwStyle,
       const RECT& rect,
       CWnd* pParentWnd,
       UINT nID 
    );其中dwStyle 设置为 WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON | BS_CENTER, BS_CENTER 就是让按钮上文本居中

    myButton1.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON | BS_CENTER, 
       rect, pParentWnd, 10001);// 按钮的字体
    CFont m_font;
    // 创建字体
    m_font.CreateFont   (   
    14, // nHeight   
    0, // nWidth   
    0, // nEscapement   
    0, // nOrientation   
    FW_NORMAL, // nWeight   
    FALSE, // bItalic   
    FALSE, // bUnderline   
    0, // cStrikeOut   
    ANSI_CHARSET, // nCharSet   
    OUT_DEFAULT_PRECIS, // nOutPrecision   
    CLIP_DEFAULT_PRECIS, // nClipPrecision   
    DEFAULT_QUALITY, // nQuality   
    DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily   
    "Arial"); // lpszFacename, 常用字体 Arial, Times New Roman
    // 设置按钮字体
    myButton1.SetFont(&m_font);其中 myButton1, m_font 要设为成员变量或全局变量, 不然显示不了或者无法设置字体.
      

  2.   

    谢谢你的回答,非常感谢!
    但是我还是有一些疑问:首先,我是动态创建工具栏的,上面的按钮也不是画上去的,
    但是设置按钮和文本不是用以下函数的么:
    m_BottomToolBar.SetButtons (arr,12);
    m_BottomToolBar.SetButtonText (0,"状态");
    来设置的么!
    当然,if(!m_BottomToolBar.CreateEx(this,TBSTYLE_FLAT|TBSTYLE_LIST, WS_CHILD|WS_VISIBLE|    
                                          CBRS_ALIGN_BOTTOM|CBRS_SIZE_DYNAMIC| CBRS_FLYBY ))   
    {     }
          里可以设置文本的方式,但是我不知道怎么设置在中间。
    还有,CFont m_font;怎么添加到对象里去呢?
    楼上的,你的方法只是在工具栏里貌似不可行吧···大侠进啊
      

  3.   

    查查有没有下面这个函数
    CToolBar::SetButtonText