2025-11-27 16:46:48 +09:00

61 lines
1.3 KiB
C++

// OXSkinnedTabCtrl.cpp : implementation file
//
// Version: 9.3
#include "stdafx.h"
#include "OXSkinnedTabCtrl.h"
#include "OXSkins.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// COXSkinnedTabCtrl
IMPLEMENT_DYNAMIC(COXSkinnedTabCtrl, CTabCtrl)
COXSkinnedTabCtrl::COXSkinnedTabCtrl() :
m_pTabSkin(NULL)
{
}
COXSkinnedTabCtrl::~COXSkinnedTabCtrl()
{
if (m_pTabSkin != NULL)
delete m_pTabSkin;
}
BEGIN_MESSAGE_MAP(COXSkinnedTabCtrl, CTabCtrl)
//{{AFX_MSG_MAP(COXSkinnedTabCtrl)
ON_WM_PAINT()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// COXSkinnedTabCtrl message handlers
COXTabSkin* COXSkinnedTabCtrl::GetTabSkin()
{
// Check if the app is derived from COXSkinnedApp
COXSkinnedApp* pSkinnedApp = DYNAMIC_DOWNCAST(COXSkinnedApp, AfxGetApp());
if (pSkinnedApp != NULL && pSkinnedApp->GetCurrentSkin() != NULL)
return pSkinnedApp->GetCurrentSkin()->GetTabSkin();
else
{
// Create a classic skin for this class if not created already
if (m_pTabSkin == NULL)
m_pTabSkin = new COXTabSkinClassic();
return m_pTabSkin;
}
}
void COXSkinnedTabCtrl::OnPaint()
{
GetTabSkin()->OnPaintTabCtrl(this);
}