|
//------------------------------------------------------------------------------
// $Workfile: DockListPaneController.cpp $
// $Header: $
//
// Copyright � 2008 SbjCat
// All rights reserved.
//
//
// *** Authors ***
// Steve Johnson
//
// $Revision: $
//
//-----------------------------------------------------------------------------
#include "stdafx.h"
#include "DockListPaneController.h"
#include "ControlledListCtrl.h"
#include "ListController.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
namespace SbjCore
{
namespace Mvc
{
struct DockListPaneControllerImpl
{
ControlledListCtrl theList;
// CImageList theListImages;
// UINT nTheImageListID;
DockListPaneControllerImpl()
{
}
virtual ~DockListPaneControllerImpl()
{
}
};
/////////////////////////////////////////////////////
DockListPaneController::DockListPaneController() :
m_pImpl(new DockListPaneControllerImpl)
{
}
DockListPaneController::~DockListPaneController()
{
try
{
delete m_pImpl;
}
catch (...)
{
ASSERT(FALSE);
}
}
CListCtrl* DockListPaneController::GetListCtrl() const
{
return &m_pImpl->theList;
}
void DockListPaneController::SetListController(ListController* pListCtrlr )
{
m_pImpl->theList.SetController(pListCtrlr);
}
int DockListPaneController::OnAdjustLayout(int nTop /*= 0*/)
{
int nRslt = 0;
if (GetWnd()->GetSafeHwnd() != NULL)
{
int cyTlb = t_Base::OnAdjustLayout();
CRect rectClient;
GetWnd()->GetClientRect(rectClient);
m_pImpl->theList.SetWindowPos(NULL, rectClient.left + 1, rectClient.top + cyTlb + 1, rectClient.Width() - 2, rectClient.Height() - cyTlb - 2, SWP_NOACTIVATE | SWP_NOZORDER);
nRslt = rectClient.Height();
}
return nRslt;
}
BOOL DockListPaneController::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
lpcs;
pContext;
BOOL bRslt = false;
CRect rectDummy;
rectDummy.SetRectEmpty();
ListController* pListCtrlr = dynamic_cast<ListController*>(m_pImpl->theList.GetController());
if (pListCtrlr != NULL)
{
const DWORD dwViewStyle = pListCtrlr->GetStyle();
if (m_pImpl->theList.Create(dwViewStyle, rectDummy, GetWnd(), AFX_IDW_PANE_FIRST))
{
bRslt = true;
}
}
return bRslt;
}
}
}
//*** Modification History ***
// $Log: $
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Real name is Steve Johnson. Programming since 1979. Started on a Heathkit Micro with a DEC LSI-11 and UCSD Pascal. Moved to PCs & DOS as soon as Turbo Pascal became available. Did some Assembly, ISR, TSR etc. All this while working for a Manufacturing Co. for 8 years. Had my own solo Co. doing barcode labeling software for 4 years (terrible business man, all I wanted to do was code). Since then working for various software companies. Moved to Windows around the time of 3.1 with Borland C then C++. Then on to VC++ and MFC, and just about anything I could get my hands on or had to learn for my job, and been at it ever since. Of course recently I've been playing with .NET, ASP, C#, WPF etc.