Beispiel #1
0
void CListCtrlEx::auto_size()
{
	if (!GetSafeHwnd() || !GetHeaderCtrl())
		return;
	for (int i = 0; i < GetHeaderCtrl()->GetItemCount(); i++)
		SetColumnWidth(i, LVSCW_AUTOSIZE_USEHEADER);
}
Beispiel #2
0
//控件绑定
void CHappyGoDlgT::PreSubclassWindow()
{
    if(GetHeaderCtrl())
		m_ListHeader.SubclassWindow(GetHeaderCtrl()->GetSafeHwnd());

	CListCtrl::PreSubclassWindow();
}
Beispiel #3
0
BOOL CReportCtrl::SetHeaderImage(int nColumn, int nImageIndex, BOOL bLeftSide)
{
	if(GetHeaderCtrl()->GetImageList() == NULL)
	{
		CListCtrl :: GetHeaderCtrl()->SetImageList(GetImageList());
	}

	HDITEM	hi;
	:: memset(&hi, 0, sizeof(HDITEM));
	hi.mask = HDI_FORMAT;
	if(!GetHeaderCtrl()->GetItem(nColumn, &hi))
	{
		return(FALSE);
	}

	hi.mask |= HDI_IMAGE;
	hi.fmt |= HDF_IMAGE;

	if(!bLeftSide)
	{
		hi.fmt |= HDF_BITMAP_ON_RIGHT;						// draw the image on right side of text
	}

	hi.iImage = nImageIndex;
	return(CListCtrl :: GetHeaderCtrl()->SetItem(nColumn, &hi));
}
void	CReportCtrl::DrawSortArrow(int Col, int Desc)
{
	if (Col < 0)
		return;
#if _MFC_VER < 0x0700	// if MFC 6
	HDITEM	hdi;
	hdi.mask = HDI_IMAGE | HDI_FORMAT;
	GetHeaderCtrl()->GetItem(Col, &hdi);
	if (Desc < 0) {	// erase
		hdi.mask = HDI_FORMAT;
		hdi.fmt &= ~HDF_IMAGE;
	} else {
		hdi.mask = HDI_FORMAT | HDI_IMAGE;
		hdi.fmt |= HDF_IMAGE | HDF_BITMAP_ON_RIGHT;
		hdi.iImage = Desc;
	}
#else	// .NET; use sort header format flags instead of image list
	HDITEM	hdi;
	hdi.mask = HDI_FORMAT;
	GetHeaderCtrl()->GetItem(Col, &hdi);
	hdi.mask = HDI_FORMAT;
	if (Desc < 0)	// erase
		hdi.fmt &= ~(HDF_SORTUP | HDF_SORTDOWN);
	else {
		if (Desc)
			hdi.fmt |= HDF_SORTDOWN;
		else
			hdi.fmt |= HDF_SORTUP;
	}
#endif
	GetHeaderCtrl()->SetItem(Col, &hdi);
}
void CSortingListControl::SortItems()
{
	VERIFY(CListCtrl::SortItems(&_CompareFunc, (DWORD_PTR)&m_sorting));

	HDITEM hditem;
	ZeroMemory(&hditem, sizeof(hditem));

	if (m_indicatedColumn != -1)
	{
		CString text;
		hditem.mask= HDI_TEXT;
		hditem.pszText= text.GetBuffer(256);
		hditem.cchTextMax= 256;
		GetHeaderCtrl()->GetItem(m_indicatedColumn, &hditem);
		text.ReleaseBuffer();
		text= text.Mid(2);
		hditem.pszText= (LPTSTR)(LPCTSTR)text;
		GetHeaderCtrl()->SetItem(m_indicatedColumn, &hditem);
	}

	CString text;
	hditem.mask= HDI_TEXT;
	hditem.pszText= text.GetBuffer(256);
	hditem.cchTextMax= 256;
	GetHeaderCtrl()->GetItem(m_sorting.column1, &hditem);
	text.ReleaseBuffer();
	text= (m_sorting.ascending1 ? _T("< ") : _T("> ")) + text;
	hditem.pszText= (LPTSTR)(LPCTSTR)text;
	GetHeaderCtrl()->SetItem(m_sorting.column1, &hditem);
	m_indicatedColumn= m_sorting.column1;
}
Beispiel #6
0
void CListCtrlEx::PreSubclassWindow()
{
	if(GetHeaderCtrl())
	{
		m_HeaderCtrl.SubclassWindow(GetHeaderCtrl()->m_hWnd);
	}
	CListCtrl::PreSubclassWindow();
}
Beispiel #7
0
void CHappyGoDlgT::OnShowWindow(BOOL bShow, UINT nStatus)
{
	CListCtrl::OnShowWindow(bShow, nStatus);

	// TODO: 在此处添加消息处理程序代码
	if(GetHeaderCtrl())
		m_ListHeader.SubclassWindow(GetHeaderCtrl()->m_hWnd);
}
void CFishListCtrl::PreSubclassWindow() 
{
	// TODO: Add your specialized code here and/or call the base class
	if(GetHeaderCtrl())
    {
        m_ctrlHeader.SubclassWindow(GetHeaderCtrl()->m_hWnd);
    }

	CListCtrl::PreSubclassWindow();
}
Beispiel #9
0
void CRTListCtrl::PreSubclassWindow()
{
	if(GetHeaderCtrl() != NULL)
	{
		m_HeaderCtrl.SubclassWindow(GetHeaderCtrl()->m_hWnd);
	}

	m_Container.Create(this);
	CListCtrl::PreSubclassWindow();
}
void CListCtrlEx::ReadState(LPCSTR pszName)
{
	CHeaderCtrl* pHdr = GetHeaderCtrl ();
	int *piWidthes;

	Initialize ();

	LPBYTE pbW, pbI;
	UINT uSizeI, uSizeW;

	CString strIndexes = pszName, strWidthes = pszName;
	strIndexes += 'I';
	strWidthes += 'W';

	
	if (_App.GetProfileBinary (_T ("Settings\\View\\ListViews"), strIndexes, &pbI, &uSizeI) &&
		 _App.GetProfileBinary (_T ("Settings\\View\\ListViews"), strWidthes, &pbW, &uSizeW) && 
		 uSizeI == m_cTotalCols * sizeof (int) && uSizeW == m_cTotalCols * sizeof (int))
	{
		CopyMemory (m_aIndex, pbI, m_cTotalCols * sizeof (int));
		piWidthes = (int*) pbW;

		

		int i = m_cTotalCols - 1;
		for (i = m_cTotalCols - 1; i >= 0; i--)
			if (m_aIndex [i] == -1)	
				DeleteColumn (i);	

		int aOrder [LISTEX_MAXCOLUMNS];
		int iCorr = 0;
		
		
		for (i = 0; i < m_cTotalCols; i++)
		{
			if (m_aIndex [i] != -1)
				aOrder [m_aIndex [i]] = i - iCorr;
			else
				iCorr ++;
		}
		pHdr->SetOrderArray (GetHeaderCtrl ()->GetItemCount (), (int*) aOrder);

		RebuildAIndex ();

		for (i = 0; i < m_cTotalCols; i++)
		{
			if (piWidthes [i] > 0)
				SetColumnWidth (aOrder [m_aIndex [i]], piWidthes [i]);
		}

		delete [] pbW;
		delete [] pbI;
	}
}
void CListCtrlEx::InsertHdrItem(int iCol)
{
	int cCols = GetHeaderCtrl ()->GetItemCount ();
	InsertColumn (cCols, m_appszCols [iCol], LVCFMT_LEFT, 80);
	HDITEM item;
	item.mask = HDI_LPARAM;
	item.lParam = iCol;
	GetHeaderCtrl ()->SetItem (cCols, &item);
	RebuildAIndex ();
	OnForceUpdate ();
}
Beispiel #12
0
/*******************************************************************************
  Function Name  : GetFirstVisibleColumn
  Input(s)       : -
  Output         : int
  Functionality  : Returns an integer valuie of the index of first visible column.
  Member of      : CRxMsgList
  Author(s)      : Arunkumar K
  Date Created   : 20-05-2010
  Modifications  : 
*******************************************************************************/
int CRxMsgList::GetFirstVisibleColumn()
{
	int nColCount = GetHeaderCtrl()->GetItemCount();
	for(int i = 0; i < nColCount; ++i)
	{
		int nCol = GetHeaderCtrl()->OrderToIndex(i);
		if (IsColumnVisible(nCol))
		{
			return nCol;
		}
	}
	return -1;
}
Beispiel #13
0
void CRichListCtrl::DrawItem(CDC* pDC, int nItem, CRect &rcItem)  
{  
	if (nItem < 0 || nItem >= (int)m_vctItem.size())
	{
		return;
	}

	bool bSelected = false;  
	if (GetItemState(nItem, LVIS_SELECTED))  
	{  
		bSelected = true;  
	}  

	bool bFocus = false;  
	CWnd *pWndFocus = GetFocus();  
	if (IsChild(pWndFocus) || pWndFocus == this)  
	{  
		bFocus = true;  
	}  

	int pos = GetScrollPos(SB_HORZ);  
	int nColumnCount = GetHeaderCtrl()->GetItemCount();  
	CRect  rcSubItem;  
	for (int j = 0; j < nColumnCount; ++j)  
	{  
		GetHeaderCtrl()->GetItemRect(j, &rcSubItem);  
		rcSubItem.top = rcItem.top;  
		rcSubItem.bottom = rcItem.bottom;  
		rcSubItem.OffsetRect(-pos, 0);  
		if(rcSubItem.right < rcItem.left || rcSubItem.left > rcItem.right)  
		{
			continue;  
		}

		map<int, ListSubItem*>::iterator it = m_vctItem[nItem].find(j);
		if (it == m_vctItem[nItem].end() || it->second->itemType == CTRL_STATIC)
		{
			DrawSubItem(pDC, nItem, j, rcSubItem, bSelected, bFocus);
		}
		else if (it->second->itemType == CTRL_BUTTON)
		{
			CButton *pButton = (CButton*)(it->second->pItem);
			if (pButton != NULL)
			{		
				pButton->ShowWindow(SW_SHOW);
				pButton->MoveWindow(rcSubItem);
			}
		}
	}   
}  
void CFileBrowserListCtrl::DrawSortArrow(int Col, int Dir)
{
	HDITEM	hdi;
	hdi.mask = HDI_IMAGE | HDI_FORMAT;
	GetHeaderCtrl()->GetItem(Col, &hdi);
	if (Dir < 0) {	// erase arrow
		hdi.mask = HDI_FORMAT;
		hdi.fmt &= ~HDF_IMAGE;
	} else {
		hdi.mask = HDI_FORMAT | HDI_IMAGE;
		hdi.fmt |= HDF_IMAGE | HDF_BITMAP_ON_RIGHT;
		hdi.iImage = Dir;
	}
	GetHeaderCtrl()->SetItem(Col, &hdi);
}
void CListCtrlEx::Initialize()
{
	m_cTotalCols = GetHeaderCtrl ()->GetItemCount ();

	HDITEM item;
	item.mask = HDI_LPARAM;
	for (int i = 0; i < m_cTotalCols; i++)
	{
		item.lParam = i;
		
		GetHeaderCtrl ()->SetItem (i, &item);
	}

	RebuildAIndex ();
}
Beispiel #16
0
//建立消息
int CSkinListCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (__super::OnCreate(lpCreateStruct)==-1) return -1;
	m_SkinHeadCtrl.SubclassWindow(GetHeaderCtrl()->GetSafeHwnd());
	SetExtendedStyle(LIST_STYTE);
	return 0;
}
Beispiel #17
0
//控件绑定
void CSkinListCtrl::PreSubclassWindow()
{
	__super::PreSubclassWindow();
	m_SkinHeadCtrl.SubclassWindow(GetHeaderCtrl()->GetSafeHwnd());
	SetExtendedStyle(LIST_STYTE);
	return;
}
void HHideListCtrl::PreSubclassWindow() 
{
	ASSERT( GetStyle() & LVS_REPORT );
	
	CListCtrl::PreSubclassWindow();
	VERIFY( m_ctlHeader.SubclassWindow( GetHeaderCtrl()->GetSafeHwnd() ) );
}
void CListCtrlEx::UpdateStatusDownload(int iIndex, int iStatus)
{
	CString strStatus;
	strStatus.Format(_T("%d%%"), iStatus);
	m_ProgressList[iIndex]->SetWindowText(strStatus.GetBuffer());
	m_ProgressList[iIndex]->SetMarquee(false, 1);
	m_ProgressList[iIndex]->SetPos(iStatus);
	m_ProgressList[iIndex]->Invalidate(TRUE);
	if(iStatus >= 100)
	{
		SetItemText(iIndex, 2, strStatus);
	}
	

	CHeaderCtrl* pHeader=GetHeaderCtrl();
	CRect ColRt;
	pHeader->GetItemRect(m_iProgressColumn,&ColRt);
	CRect rt;
	GetItemRect(iIndex, &rt, LVIR_LABEL);
	rt.top += 1;
	rt.bottom -= 1;
	rt.left += ColRt.left;
	int Width = ColRt.Width();
	rt.right = rt.left + Width - 4;
	rt.left = ColRt.left +1 ;
	rt.right = ColRt.right-1;
	
	m_ProgressList[iIndex]->MoveWindow(&rt, TRUE);
		
	
}
Beispiel #20
0
/*******************************************************************************
  Function Name  : OnHeaderEndDrag
  Input(s)       : pNMHDR, pResult
  Output         : BOOL 
  Functionality  : Event is fired after column Drag is ended.
  Member of      : CRxMsgList
  Author(s)      : Arunkumar K
  Date Created   : 20-05-2010
  Modifications  : 
*******************************************************************************/
BOOL CRxMsgList::OnHeaderEndDrag(UINT, NMHDR* pNMHDR, LRESULT* /*pResult*/)
{
	NMHEADER* pNMH = (NMHEADER*)pNMHDR;

	if (pNMH->pitem->mask & HDI_ORDER)
	{
		// Correct iOrder so it is just after the last hidden column
		int nColCount = GetHeaderCtrl()->GetItemCount();
		int* pOrderArray = new int[nColCount];
		VERIFY( GetColumnOrderArray(pOrderArray, nColCount) );

		if(pNMH->iItem == 0 )
		{
			pNMH->pitem->iOrder = 0;
			return FALSE;
		}
		for(int i = 0; i < nColCount ; ++i)
		{
			if (IsColumnVisible(pOrderArray[i]))
			{
                pNMH->pitem->iOrder = max(pNMH->pitem->iOrder,i);
				if(pNMH->pitem->iOrder == 0)
					pNMH->pitem->iOrder++;
				break;
			}
		}
		delete [] pOrderArray;
	}
	return FALSE;
}
void CListCtrlEx::InsertProgresCtrl(int iIndex, int iStatus)
{
	CHeaderCtrl* pHeader = GetHeaderCtrl();
	
	CRect ColRt;
	pHeader->GetItemRect(m_iProgressColumn, &ColRt);
	 //get the rect
	CRect rt;
	GetItemRect(iIndex, &rt, LVIR_LABEL);
	rt.top += 1;
	rt.bottom -= 1;
	rt.left += ColRt.left;
	int Width = ColRt.Width();
	rt.right = rt.left + Width - 4;
	
	rt.left = ColRt.left+1;
	rt.right = ColRt.right-1;

	CProgressCtrl *pControl = new CProgressCtrl;
	pControl->Create(WS_CHILD|WS_VISIBLE, rt, this, IDC_PROGRESS_LIST + iIndex);
	pControl->SetRange(0, 100);
	pControl->SetPos(iStatus);
	pControl->ShowWindow(SW_SHOWNOACTIVATE);
	
	 //add them to the list
	m_ProgressList.push_back(pControl);
}
Beispiel #22
0
DWORD CReportCtrl::_GetHeaderTextFormat(int nColumn) const
{
	if(!HasColumnHeader())
	{
		return(ES_LEFT);
	}

	HDITEM	hd;
	hd.mask = HDI_FORMAT;
	if(!GetHeaderCtrl()->GetItem(nColumn, &hd))
	{
		return(ES_LEFT);
	}

	if(hd.fmt & HDF_CENTER)
	{
		return(ES_CENTER);
	}
	else if(hd.fmt & HDF_RIGHT)
	{
		return(ES_RIGHT);
	}
	else
	{
		return(ES_LEFT);
	}
}
BOOL CVarListCtrl::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult) 
{
    HD_NOTIFY   *pHDN = (HD_NOTIFY*)lParam;

    if((pHDN->hdr.code == HDN_BEGINTRACKW || pHDN->hdr.code == HDN_BEGINTRACKA)
            && pHDN->iItem == 1)            // Prevent only first (col# 0) from resizing
    {
            *pResult = TRUE;                // disable tracking
            return TRUE;                    // Processed message
    }
	else if ((pHDN->hdr.code == HDN_ENDTRACKA) || (pHDN->hdr.code == HDN_ENDTRACKW))
	{
		CHeaderCtrl* pHeader = GetHeaderCtrl();
		if (pHeader)
		{
			int nColumnCount = pHeader->GetItemCount();
			if (nColumnCount > 0)
				SetColumnWidth(nColumnCount-1, LVSCW_AUTOSIZE_USEHEADER);
		}
	}


	
	return CListCtrl::OnNotify(wParam, lParam, pResult);
}
Beispiel #24
0
//
//	[virtual] ODBCGridCtrl::OnSetups
//
void	
ODBCGridCtrl::OnSetup()
	{
	/*
	SELECT 
	INC.UID, 
	INC.ORDER_N, 
	INC.CLIENT_UID, 
	(SELECT NAME FROM AXSYS_CONTACT WHERE UID = INC.CLIENT_UID ) AS CLIENT_NAME,
	INC.OUTPUT_DATE, 
	INC.PAYMENT, 
	INC.REAL_PAYMENT,  
	INC.NATIVE_PAYMENT,  
	INC.CLOSED 
	FROM AXSYS_OUTPUT  INC
	ORDER BY INC.UID;
	*/

	NONCLIENTMETRICS ncm;
	ncm.cbSize = sizeof(NONCLIENTMETRICS);
	SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICS), &ncm, NULL);

	m_pFont = new CFont();
	m_pFont->CreateFontIndirect(&ncm.lfCaptionFont);
	SetFont(m_pFont);

//	SubclassHeader();
//	GetFlatHeaderCtrl()->ShowSortArrow(FALSE);

	CHeaderCtrl* pHdr = GetHeaderCtrl();
	if( pHdr )
		pHdr->SetFont(m_pFont);
	SetCellSelectionMode(FALSE);
	}
Beispiel #25
0
void CKadSearchListCtrl::Localize()
{
	CHeaderCtrl* pHeaderCtrl = GetHeaderCtrl();
	HDITEM hdi;
	hdi.mask = HDI_TEXT;
	CString strRes;

	for (int icol = 0; icol < pHeaderCtrl->GetItemCount(); icol++)
	{
		switch (icol)
		{
			case colNum: strRes = GetResString(IDS_NUMBER); break;
			case colKey: strRes = GetResString(IDS_KEY); break;
			case colType: strRes = GetResString(IDS_TYPE); break;
			case colName: strRes = GetResString(IDS_SW_NAME); break;
			case colStop: strRes = GetResString(IDS_STATUS); break;
			case colResponses: strRes = GetResString(IDS_RESPONSES); break;
			case colLoad: strRes = GetResString(IDS_THELOAD); break;
			case colPacketsSent: strRes = GetResString(IDS_PACKSENT); break;
			default: strRes.Empty(); break;
		}
		hdi.pszText = const_cast<LPTSTR>((LPCTSTR)strRes);
		pHeaderCtrl->SetItem(icol, &hdi);
	}

	int iItems = GetItemCount();
	for (int i = 0; i < iItems; i++)
		SearchRef((Kademlia::CSearch *)GetItemData(i));

	UpdateKadSearchCount();
}
void CKadContactListCtrl::Localize()
{
	CHeaderCtrl* pHeaderCtrl = GetHeaderCtrl();
	HDITEM hdi;
	hdi.mask = HDI_TEXT;
	CString strRes;

	for (int icol=0;icol< pHeaderCtrl->GetItemCount() ;icol++) 
	{
		switch (icol) 
		{
			case colID: strRes = GetResString(IDS_ID); break;
			case colType: strRes = GetResString(IDS_TYPE); break;
			case colDistance: strRes = GetResString(IDS_KADDISTANCE); break;
		}
	
		hdi.pszText = strRes.GetBuffer();
		pHeaderCtrl->SetItem(icol, &hdi);
		strRes.ReleaseBuffer();
	}

	int iItems = GetItemCount();
	for (int i = 0; i < iItems; i++)
		UpdateContact(i, (Kademlia::CContact*)GetItemData(i), true);
}
Beispiel #27
0
/*******************************************************************************
  Function Name  : vSetSortableMsgColumns
  Input(s)       : sHdrColStruct, eBusType
  Output         : -
  Functionality  : Sets the Sortable message window columns for current bus eBusType.
  Member of      : CRxMsgList
  Author(s)      : Arunkumar K
  Date Created   : 20-05-2010
  Modifications  : 
*******************************************************************************/
void CRxMsgList::vSetSortableMsgColumns(SMSGWNDHDRCOL& sHdrColStruct, ETYPE_BUS eBusType)
{
	int nColCount = GetHeaderCtrl()->GetItemCount();
	nColCount--;	//Reduce the size by 1 for the Blank column.
	m_pbSortableColumn = (bool*)malloc(sizeof(bool) * nColCount);
	m_pbAscendingOrder = (bool*)malloc(sizeof(bool) * nColCount);
	if( m_pbSortableColumn == NULL || m_pbAscendingOrder == NULL)
	{
		AfxMessageBox(_T("Failed to create Memory for Sortable Column."));
		return;
	}
	for(int i=0;i < nColCount; i++)
	{
		m_pbSortableColumn[i] = false;
		m_pbAscendingOrder[i] = true;
	}
	//Set the Sortable Columns as true.	

	if(eBusType == CAN)	//If the BUS is CAN ,Set the Time field, Channel and ID fields as Sortable
	{
		m_pbSortableColumn[sHdrColStruct.m_byTimePos] = true;
		m_pbSortableColumn[sHdrColStruct.m_byChannel] = true;
		m_pbSortableColumn[sHdrColStruct.m_byIDPos]   = true;
	}
}
Beispiel #28
0
int CReportCtrl::GetHeaderImage(int nColumn) const
{
	HDITEM hi;
	::memset(&hi, 0, sizeof(HDITEM));
	hi.mask = HDI_IMAGE;
	return !GetHeaderCtrl()->GetItem(nColumn, &hi) ? hi.iImage : -1;
}
void CSortingListControl::LoadPersistentAttributes()
{
	CArray<int, int> arr;
	arr.SetSize(GetHeaderCtrl()->GetItemCount());

	GetColumnOrderArray(arr.GetData(), arr.GetSize());	
	CPersistence::GetColumnOrder(m_name, arr);
	SetColumnOrderArray(arr.GetSize(), arr.GetData());

	for (int i=0; i < arr.GetSize(); i++)
		arr[i]= GetColumnWidth(i);
	CPersistence::GetColumnWidths(m_name, arr);
	for (i=0; i < arr.GetSize(); i++)
	{
		// To avoid "insane" settings we set the column width to
		// maximal twice the default width.
		int maxWidth= GetColumnWidth(i) * 2;
		int w= min(arr[i], maxWidth);
		SetColumnWidth(i, w);
	}

	// Not so good: CPersistence::GetSorting(m_name, GetHeaderCtrl()->GetItemCount(), m_sorting.column1, m_sorting.ascending1, m_sorting.column2, m_sorting.ascending2);
	// We refrain from saving the sorting because it is too likely, that
	// users start up with insane settings and don't get it.
}
Beispiel #30
0
void CQueueListCtrl::Localize()
{
	CHeaderCtrl* pHeaderCtrl = GetHeaderCtrl();
	HDITEM hdi;
	hdi.mask = HDI_TEXT;

	if(pHeaderCtrl->GetItemCount() != 0) {
		CString strRes;

		strRes = GetResString(IDS_QL_USERNAME);
		hdi.pszText = strRes.GetBuffer();
		pHeaderCtrl->SetItem(0, &hdi);
		strRes.ReleaseBuffer();

		strRes = GetResString(IDS_FILE);
		hdi.pszText = strRes.GetBuffer();
		pHeaderCtrl->SetItem(1, &hdi);
		strRes.ReleaseBuffer();

		strRes = GetResString(IDS_FILEPRIO);
		hdi.pszText = strRes.GetBuffer();
		pHeaderCtrl->SetItem(2, &hdi);
		strRes.ReleaseBuffer();

		strRes = GetResString(IDS_QL_RATING);
		hdi.pszText = strRes.GetBuffer();
		pHeaderCtrl->SetItem(3, &hdi);
		strRes.ReleaseBuffer();

		strRes = GetResString(IDS_SCORE);
		hdi.pszText = strRes.GetBuffer();
		pHeaderCtrl->SetItem(4, &hdi);
		strRes.ReleaseBuffer();

		strRes = GetResString(IDS_ASKED);
		hdi.pszText = strRes.GetBuffer();
		pHeaderCtrl->SetItem(5, &hdi);
		strRes.ReleaseBuffer();

		strRes = GetResString(IDS_LASTSEEN);
		hdi.pszText = strRes.GetBuffer();
		pHeaderCtrl->SetItem(6, &hdi);
		strRes.ReleaseBuffer();

		strRes = GetResString(IDS_ENTERQUEUE);
		hdi.pszText = strRes.GetBuffer();
		pHeaderCtrl->SetItem(7, &hdi);
		strRes.ReleaseBuffer();

		strRes = GetResString(IDS_BANNED);
		hdi.pszText = strRes.GetBuffer();
		pHeaderCtrl->SetItem(8, &hdi);
		strRes.ReleaseBuffer();
		
		strRes = GetResString(IDS_UPSTATUS);
		hdi.pszText = strRes.GetBuffer();
		pHeaderCtrl->SetItem(9, &hdi);
		strRes.ReleaseBuffer();
	}
}