CXTabCtrl: an easier tab control for dialogs and forms | CodeGuru

CXTabCtrl: an easier tab control for dialogs and forms

When I first got in touch with the Microsoft VC, it was boring to put a tab control in a form or in a dialog. I had to create the dialogs, fill in the TCITEM struct for each of my tabs, and finally insert them in the tab control. With the CXTabCtrl what you have […]

Written By
CodeGuru Staff
CodeGuru Staff
Jul 25, 1999
1 minute read
CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More

Sample Image

When I first got in touch with the Microsoft VC, it was boring to put a tab control
in a form or in a dialog. I had to create the dialogs, fill in the TCITEM struct for
each of my tabs, and finally insert them in the tab control. With the CXTabCtrl what you have to do is ilustrated below:

InitDialog (CDialog) or InitialUpdate (CFormView)

...
m_pMyDlg = new CMyDlg;
m_pMyDlg->Create(CMyDlg::IDD, &m_tabctrl /*CXTabCtrl variable*/);
m_tabctrl.AddTab(m_pMyDlg, "Tab caption", 0 /* image number*/);
...

The OnSelChange that you had to implement in the dialog (or form), to show
the correct dialog, now is in the CXTabCtrl, so you don’t have to worry about it.
You can disable a tab too, so the user cannot see it’s contents.

m_tabctrl.EnableTab(1 /*index*/, FALSE);

Also, you can set the following colors:

  • Selected tab
  • Unselected tab
  • Disabled tab
  • A mouse over tab

Downloads

Download demo project – 19Kb

Download source – 4Kb

CodeGuru Logo

CodeGuru covers topics related to Microsoft-related software development, mobile development, database management, and web application programming. In addition to tutorials and how-tos that teach programmers how to code in Microsoft-related languages and frameworks like C# and .Net, we also publish articles on software development tools, the latest in developer news, and advice for project managers. Cloud services such as Microsoft Azure and database options including SQL Server and MSSQL are also frequently covered.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.