none
MFC中使用tabcontrol ,怎么把标签页显示为居中? RRS feed

  • 问题

  • 如题。

    我使用的tabcontrol控件。然后分别插入2个对话框。

    然后添加的类:

    class CTabSheet : public CTabCtrl
    {
     // Construction
    public:
     CTabSheet();
     
     // Attributes
    public:
     
     // Operations
    public:
     int GetCurSel();
     int SetCurSel(int nItem);
     void Show();
     void SetRect();
     BOOL AddPage(LPCTSTR title, CDialog *pDialog, UINT ID);
     virtual ~CTabSheet();
     
     // Generated message map functions
    protected:
     LPCTSTR m_Title[MAXPAGE];
     UINT m_IDD[MAXPAGE];
     CDialog* m_pPages[MAXPAGE];
     int m_nNumOfPages;
     int m_nCurrentPage;
     //{{AFX_MSG(CTabSheet)
     afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
     //}}AFX_MSG
     DECLARE_MESSAGE_MAP()
    };

    然后在主对话框的初始化中添加:

     m_sheet.AddPage("meeting", &m_page1, IDD_DIALOG1);
     m_sheet.AddPage("history", &m_page2, IDD_DIALOG2);
     m_sheet.Show();

    这是show():

    void CTabSheet::Show()
    {
     for( int i=0; i < m_nNumOfPages; i++ )
     {
      m_pPages[i]->Create( m_IDD[i], this );
      InsertItem( i, m_Title[i] );
     }
     
     m_pPages[0]->ShowWindow(SW_SHOW);
     for( i=1; i < m_nNumOfPages; i++)
     m_pPages[i]->ShowWindow(SW_HIDE);
     SetRect();
     
    }

    现在可以运行,也可以切换标签。但是怎么把标签能居中设置呢?在tabcontrol中的属性设置中没有这个选项。

    哪位大侠,讲解讲解的详细点,最好能有代码~

    2012年7月26日 5:12

全部回复

  • 标签居中?

    右对齐                                   居中

    如果是这样的话,更改TabControl 属性为Fixed WidthProperties->Styles->Fixed Width

    还是page居中?


    Please not forget mark your answer, and unmark your disagreed point.


    • 已编辑 i1friend 2012年7月27日 8:35
    2012年7月27日 8:34