This commit is contained in:
2013-07-20 23:27:27 +00:00
parent 8024ab7e8e
commit 4c8d9b4b49

129
Common/LCLayout.cpp Normal file
View File

@@ -0,0 +1,129 @@
/*===========================================================================
==== ====
==== ====
=============================================================================
==== ====
==== File : LCLayout.cpp ====
==== Project name : ====
==== Project number : ====
==== Creation date : 10/08/2000 ====
==== ====
==== ====
=============================================================================
===========================================================================*/
//============================================================================
// Inclusions
//============================================================================
#include "stdafx.h"
#include "LCLayout.h"
//============================================================================
// Constants
//============================================================================
//============================================================================
// Data types
//============================================================================
//============================================================================
// Variables
//============================================================================
//============================================================================
// Development tools
//============================================================================
//============================================================================
// Templates and global functions
//============================================================================
//============================================================================
//============================================================================
// class CLCLayout
//============================================================================
//============================================================================
/*============================================================================
Description: Restore each column size from the registry
pLC: A pointer to the CListCtrl object
regKey: A string containing the registry key where
the layout information will be retreive.
Retour: -
============================================================================*/
void CLCLayout::RestoreLayout(CListCtrl* pLC, const CString& regKey)
{
CWinApp* pApp = AfxGetApp();
int nCol = 0;
int colCx = 0;
CString key;
/* Get the column quantity */
nCol = pApp->GetProfileInt(regKey, "Column Count", 0);
/* Restore each column width */
for (int i = 0; i < nCol; i++) {
key.Format("Column %i", i);
colCx = pApp->GetProfileInt(regKey, key, -1);
if (colCx != -1) {
pLC->SetColumnWidth(i, colCx);
}
}
}
/*============================================================================
Description: Save each column size to the registry
pLC: A pointer to the CListCtrl object
regKey: A string that will be used to create a registry key where
the layout information will be store.
Retour: -
============================================================================*/
void CLCLayout::SaveLayout(CListCtrl* pLC, const CString& regKey)
{
CString key;
CWinApp* pApp = AfxGetApp();
CHeaderCtrl* pHeader = pLC->GetHeaderCtrl();
int nCol = pHeader->GetItemCount();
int colCx = 0;
/* Store the column quantity */
pApp->WriteProfileInt(regKey, "Column Count", nCol);
/* Store each column width */
CRect rcH;
for (int i = 0; i < nCol; i++) {
pHeader->GetItemRect(i, &rcH);
colCx = rcH.Width();
key.Format("Column %i", i);
pApp->WriteProfileInt(regKey, key, colCx);
}
}
//============================================================================
//============================================================================
// Test section
//============================================================================
//============================================================================