void CEditPropExternals::OnHdnItemclickExternalslist(NMHDR *pNMHDR, LRESULT *pResult) { LPNMHEADER phdr = reinterpret_cast<LPNMHEADER>(pNMHDR); if (m_nSortedColumn == phdr->iItem) m_bAscending = !m_bAscending; else m_bAscending = TRUE; m_nSortedColumn = phdr->iItem; std::sort(m_externals.begin(), m_externals.end(), &CEditPropExternals::SortCompare); m_ExtList.SetRedraw(FALSE); m_ExtList.DeleteAllItems(); m_ExtList.SetItemCountEx((int)m_externals.size()); CHeaderCtrl * pHeader = m_ExtList.GetHeaderCtrl(); HDITEM HeaderItem = { 0 }; HeaderItem.mask = HDI_FORMAT; const int itemCount = pHeader->GetItemCount(); for (int i = 0; i<itemCount; ++i) { pHeader->GetItem(i, &HeaderItem); HeaderItem.fmt &= ~(HDF_SORTDOWN | HDF_SORTUP); pHeader->SetItem(i, &HeaderItem); } pHeader->GetItem(m_nSortedColumn, &HeaderItem); HeaderItem.fmt |= (m_bAscending ? HDF_SORTUP : HDF_SORTDOWN); pHeader->SetItem(m_nSortedColumn, &HeaderItem); m_ExtList.SetRedraw(TRUE); *pResult = 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(); } }
void CLeftView::RestoreHeaderState(CString szHeader) { CListCtrl& ctlList = (CListCtrl&) GetListCtrl(); CHeaderCtrl* pHeaderCtrl = ctlList.GetHeaderCtrl(); HDITEM hdi; int nNewPos, nPos = 0; int nCount = pHeaderCtrl->GetItemCount(); for(int i = 0; i < nCount; i++) { nNewPos = szHeader.Find(_T(","), nPos); if( nNewPos != 0) { CString szWidth = szHeader.Mid(nPos,nNewPos-nPos); int nWidth = _ttoi( szWidth ); if( nWidth != 0 ) { hdi.mask = HDI_WIDTH; pHeaderCtrl->GetItem(i, &hdi); hdi.cxy = nWidth; pHeaderCtrl->SetItem(i, &hdi); nPos = nNewPos + 1; } } } }
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); }
void LListCtrl::SetHeaderControlText( DWORD dwPos, const CUString& strValue ) { myLockListCtrl.Lock(); if ( m_hWnd ) { CHeaderCtrl* pHeaderCtrl = GetHeaderCtrl(); ASSERT( (int)dwPos < pHeaderCtrl->GetItemCount() ); HDITEM hdi; memset( &hdi, 0, sizeof( HDITEM ) ); // Get header item data pHeaderCtrl->GetItem( dwPos, &hdi ); // modify item data CUStringConvert strCnv; hdi.pszText = strCnv.ToT( strValue ); hdi.mask = HDI_TEXT; // Set item data pHeaderCtrl->SetItem( dwPos, &hdi ); } myLockListCtrl.Unlock(); }
// CFileOpenDlg::SetColumnIcons // // Correctly sets the columns sort icons // void CFileOpenDlg::SetColumnIcons() { CHeaderCtrl* pHeader = m_listFile.GetHeaderCtrl(); if(pHeader) { HDITEM hdi; int i, nItems = pHeader->GetItemCount(); for(i = 0; i < nItems; ++i) { hdi.mask = HDI_IMAGE | HDI_FORMAT; pHeader->GetItem(i, &hdi); if(i+1 == m_nSort) { hdi.iImage = 1; hdi.fmt |= HDF_IMAGE | HDF_BITMAP_ON_RIGHT; } else if(i+1 == -m_nSort) { hdi.iImage = 2; hdi.fmt |= HDF_IMAGE | HDF_BITMAP_ON_RIGHT; } else { hdi.iImage = 0; hdi.fmt &= ~(HDF_IMAGE | HDF_BITMAP_ON_RIGHT); } pHeader->SetItem(i, &hdi); } } }
void CListCtrlEx::OnLvnColumnclick(NMHDR *pNMHDR, LRESULT *pResult) { LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR); // TODO: 在此添加控件通知处理程序代码 *pResult = 0; BeginWaitCursor(); SortItems(pNMLV->iSubItem); CHeaderCtrl* pHdrCtrl = GetHeaderCtrl(); int n = pHdrCtrl->GetItemCount(); HDITEM hdi; for( int i = 0; i < n; i++ ) { hdi.mask = HDI_FORMAT; // 读取排序箭头图标状态,必需指定 pHdrCtrl->GetItem(i, &hdi); //Set sort image to this column if(i == pNMLV->iSubItem) { //Windows xp has a easier way to show the sort order //in the header: i just have to set a flag and windows //will do the drawing. No windows xp, no easy way. hdi.fmt &= ~(HDF_SORTDOWN|HDF_SORTUP); hdi.fmt |= CompareObject::m_iLastSort[i] ? HDF_SORTUP : HDF_SORTDOWN; } //Remove sort image (if exists) //from other columns. else { hdi.fmt &= ~(HDF_SORTDOWN|HDF_SORTUP); } pHdrCtrl->SetItem( i, &hdi ); } EndWaitCursor(); Invalidate(); }
void CCaCertExtPage::TranslateCT() { CHeaderCtrl * pHeader = m_CheckList.GetHeaderCtrl(); if (pHeader) { CString str = MiniCT_0400; HDITEM hdi; hdi.mask = HDI_TEXT; hdi.pszText = (LPTSTR)((LPCTSTR)str); pHeader->SetItem(0, &hdi); str = MiniCT_0401; hdi.pszText = (LPTSTR)((LPCTSTR)str); pHeader->SetItem(1, &hdi); } }
LRESULT CVGMFileListView::OnColumnClick ( NMHDR* phdr ) { CWaitCursor w; int nCol = ((NMLISTVIEW*) phdr)->iSubItem; // If the user clicked the column that is already sorted, reverse the sort // direction. Otherwise, go back to ascending order. if ( nCol == m_nSortedCol ) m_bSortAscending = !m_bSortAscending; else m_bSortAscending = true; if ( g_bXPOrLater ) { HDITEM hdi = { HDI_FORMAT }; CHeaderCtrl wndHdr = GetHeader(); // Remove the sort arrow indicator from the previously-sorted column. if ( -1 != m_nSortedCol ) { wndHdr.GetItem ( m_nSortedCol, &hdi ); hdi.fmt &= ~(HDF_SORTDOWN | HDF_SORTUP); wndHdr.SetItem ( m_nSortedCol, &hdi ); } // Add the sort arrow to the new sorted column. hdi.mask = HDI_FORMAT; wndHdr.GetItem ( nCol, &hdi ); hdi.fmt |= m_bSortAscending ? HDF_SORTUP : HDF_SORTDOWN; wndHdr.SetItem ( nCol, &hdi ); } // Store the column being sorted, and do the sort m_nSortedCol = nCol; SortItems ( SortCallback, (LPARAM)(DWORD_PTR) this ); // Have the list ctrl indicate the sorted column by changing its color. if ( g_bXPOrLater ) SetSelectedColumn ( nCol ); return true; // retval ignored }
void CIrcChannelListCtrl::Localize() { CHeaderCtrl* pHeaderCtrl = GetHeaderCtrl(); HDITEM hdi; hdi.mask = HDI_TEXT; CString strRes; strRes = GetResString(IDS_IRC_NAME); hdi.pszText = const_cast<LPTSTR>((LPCTSTR)strRes); pHeaderCtrl->SetItem(0, &hdi); strRes = GetResString(IDS_UUSERS); hdi.pszText = const_cast<LPTSTR>((LPCTSTR)strRes); pHeaderCtrl->SetItem(1, &hdi); strRes = GetResString(IDS_DESCRIPTION); hdi.pszText = const_cast<LPTSTR>((LPCTSTR)strRes); pHeaderCtrl->SetItem(2, &hdi); }
void CSearchParamsWnd::Localize() { SetWindowText(GetResString(IDS_SEARCHPARAMS)); GetDlgItem(IDC_MSTATIC3)->SetWindowText(GetResString(IDS_SW_NAME)); GetDlgItem(IDC_MSTATIC7)->SetWindowText(GetResString(IDS_TYPE)); GetDlgItem(IDC_SEARCH_RESET)->SetWindowText(GetResString(IDS_PW_RESET)); GetDlgItem(IDC_METH)->SetWindowText(GetResString(IDS_METHOD)); m_ctlStart.SetWindowText(GetResString(IDS_SW_START)); m_ctlCancel.SetWindowText(GetResString(IDS_CANCEL)); m_ctlMore.SetWindowText(GetResString(IDS_MORE)); SetWindowText(GetResString(IDS_SEARCHPARAMS)); InitMethodsCtrl(); InitFileTypesCtrl(); m_ctlOpts.SetItemText(orMinSize, 0, GetResString(IDS_SEARCHMINSIZE)); m_ctlOpts.SetItemText(orMaxSize, 0, GetResString(IDS_SEARCHMAXSIZE)); m_ctlOpts.SetItemText(orAvailability, 0, GetResString(IDS_SEARCHAVAIL)); m_ctlOpts.SetItemText(orExtension, 0, GetResString(IDS_SEARCHEXTENTION)); m_ctlOpts.SetItemText(orCompleteSources, 0, GetResString(IDS_COMPLSOURCES)); m_ctlOpts.SetItemText(orCodec, 0, GetResString(IDS_CODEC)); m_ctlOpts.SetItemText(orBitrate, 0, GetResString(IDS_MINBITRATE)); m_ctlOpts.SetItemText(orLength, 0, GetResString(IDS_MINLENGTH)); m_ctlOpts.SetItemText(orTitle, 0, GetResString(IDS_TITLE)); m_ctlOpts.SetItemText(orAlbum, 0, GetResString(IDS_ALBUM)); m_ctlOpts.SetItemText(orArtist, 0, GetResString(IDS_ARTIST)); CHeaderCtrl* pHeaderCtrl = m_ctlOpts.GetHeaderCtrl(); HDITEM hdi; hdi.mask = HDI_TEXT; CString strRes; strRes = GetResString(IDS_PARAMETER); hdi.pszText = const_cast<LPTSTR>((LPCTSTR)strRes); pHeaderCtrl->SetItem(0, &hdi); strRes = GetResString(IDS_VALUE); hdi.pszText = const_cast<LPTSTR>((LPCTSTR)strRes); pHeaderCtrl->SetItem(1, &hdi); }
// 设置/获取某列Header的参数 void CLogViewDlg::SetHeaderParam(int nIndex, LPARAM lParam) { CHeaderCtrl* pHeader = m_LogList.GetHeaderCtrl(); if(pHeader != NULL) { HDITEM hdItem = {0}; hdItem.mask = HDI_LPARAM; hdItem.lParam = lParam; pHeader->SetItem(nIndex, &hdItem); } }
void CIrcNickListCtrl::Localize() { CHeaderCtrl* pHeaderCtrl = GetHeaderCtrl(); CString sResource; sResource = GetResString(IDS_STATUS); HDITEM hdi; hdi.pszText = const_cast<LPTSTR>((LPCTSTR)sResource); hdi.mask = HDI_TEXT; pHeaderCtrl->SetItem(1, &hdi); UpdateNickCount(); }
void SetSortArrow(CListCtrl * control, int nColumn, bool bAscending) { if (control == NULL) return; // set the sort arrow CHeaderCtrl * pHeader = control->GetHeaderCtrl(); HDITEM HeaderItem = {0}; HeaderItem.mask = HDI_FORMAT; for (int i=0; i<pHeader->GetItemCount(); ++i) { pHeader->GetItem(i, &HeaderItem); HeaderItem.fmt &= ~(HDF_SORTDOWN | HDF_SORTUP); pHeader->SetItem(i, &HeaderItem); } if (nColumn >= 0) { pHeader->GetItem(nColumn, &HeaderItem); HeaderItem.fmt |= (bAscending ? HDF_SORTUP : HDF_SORTDOWN); pHeader->SetItem(nColumn, &HeaderItem); } }
void CClientListCtrl::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_CL_UPLOADSTATUS); hdi.pszText = strRes.GetBuffer(); pHeaderCtrl->SetItem(1, &hdi); strRes.ReleaseBuffer(); strRes = GetResString(IDS_CL_TRANSFUP); hdi.pszText = strRes.GetBuffer(); pHeaderCtrl->SetItem(2, &hdi); strRes.ReleaseBuffer(); strRes = GetResString(IDS_CL_DOWNLSTATUS); hdi.pszText = strRes.GetBuffer(); pHeaderCtrl->SetItem(3, &hdi); strRes.ReleaseBuffer(); strRes = GetResString(IDS_CL_TRANSFDOWN); hdi.pszText = strRes.GetBuffer(); pHeaderCtrl->SetItem(4, &hdi); strRes.ReleaseBuffer(); strRes=GetResString(IDS_CD_CSOFT); hdi.pszText = strRes.GetBuffer(); pHeaderCtrl->SetItem(5, &hdi); strRes.ReleaseBuffer(); strRes = GetResString(IDS_CONNECTED); hdi.pszText = strRes.GetBuffer(); pHeaderCtrl->SetItem(6, &hdi); strRes.ReleaseBuffer(); strRes=GetResString(IDS_CD_UHASH);strRes.Remove(':'); hdi.pszText = strRes.GetBuffer(); pHeaderCtrl->SetItem(7, &hdi); strRes.ReleaseBuffer(); } }
void CManagePSWDPols::OnColumnEntryClick(NMHDR *pNotifyStruct, LRESULT *pLResult) { *pLResult = 1L; NMHEADER *pNMHeader = (NMHEADER *)pNotifyStruct; int iIndex = pNMHeader->iItem; HDITEM hdi; hdi.mask = HDI_FORMAT; CHeaderCtrl *pHdrCtrl = m_PolicyEntries.GetHeaderCtrl(); if (iIndex == m_iSortEntriesIndex) { m_bSortEntriesAscending = !m_bSortEntriesAscending; } else { // Turn off all previous sort arrows for (int i = 0; i < pHdrCtrl->GetItemCount(); i++) { pHdrCtrl->GetItem(i, &hdi); if ((hdi.fmt & (HDF_SORTUP | HDF_SORTDOWN)) != 0) { hdi.fmt &= ~(HDF_SORTUP | HDF_SORTDOWN); pHdrCtrl->SetItem(i, &hdi); } } m_iSortEntriesIndex = iIndex; m_bSortEntriesAscending = true; } pHdrCtrl->GetItem(iIndex, &hdi); // Turn off all arrows hdi.fmt &= ~(HDF_SORTUP | HDF_SORTDOWN); // Turn on the correct arrow hdi.fmt |= (m_bSortEntriesAscending ? HDF_SORTUP : HDF_SORTDOWN); pHdrCtrl->SetItem(iIndex, &hdi); m_PolicyEntries.SortItems(&CManagePSWDPols::SortEntries, (DWORD_PTR)this); }
void CFileDiffDlg::OnHdnItemclickFilelist(NMHDR *pNMHDR, LRESULT *pResult) { LPNMHEADER phdr = reinterpret_cast<LPNMHEADER>(pNMHDR); if (m_bThreadRunning) return; if (m_nSortedColumn == phdr->iItem) m_bAscending = !m_bAscending; else m_bAscending = TRUE; m_nSortedColumn = phdr->iItem; m_arSelectedFileList.RemoveAll(); Sort(); CString temp; m_cFileList.SetRedraw(FALSE); m_cFileList.DeleteAllItems(); m_cFilter.GetWindowText(temp); Filter(temp); CHeaderCtrl * pHeader = m_cFileList.GetHeaderCtrl(); HDITEM HeaderItem = {0}; HeaderItem.mask = HDI_FORMAT; for (int i=0; i<pHeader->GetItemCount(); ++i) { pHeader->GetItem(i, &HeaderItem); HeaderItem.fmt &= ~(HDF_SORTDOWN | HDF_SORTUP); pHeader->SetItem(i, &HeaderItem); } pHeader->GetItem(m_nSortedColumn, &HeaderItem); HeaderItem.fmt |= (m_bAscending ? HDF_SORTUP : HDF_SORTDOWN); pHeader->SetItem(m_nSortedColumn, &HeaderItem); m_cFileList.SetRedraw(TRUE); *pResult = 0; }
void CUploadListCtrl::Localize() { CHeaderCtrl* pHeaderCtrl = GetHeaderCtrl(); HDITEM hdi; hdi.mask = HDI_TEXT; 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_DL_SPEED); hdi.pszText = strRes.GetBuffer(); pHeaderCtrl->SetItem(2, &hdi); strRes.ReleaseBuffer(); strRes = GetResString(IDS_DL_TRANSF); hdi.pszText = strRes.GetBuffer(); pHeaderCtrl->SetItem(3, &hdi); strRes.ReleaseBuffer(); strRes = GetResString(IDS_WAITED); hdi.pszText = strRes.GetBuffer(); pHeaderCtrl->SetItem(4, &hdi); strRes.ReleaseBuffer(); strRes = GetResString(IDS_UPLOADTIME); hdi.pszText = strRes.GetBuffer(); pHeaderCtrl->SetItem(5, &hdi); strRes.ReleaseBuffer(); strRes = GetResString(IDS_STATUS); hdi.pszText = strRes.GetBuffer(); pHeaderCtrl->SetItem(6, &hdi); strRes.ReleaseBuffer(); strRes = GetResString(IDS_UPSTATUS); hdi.pszText = strRes.GetBuffer(); pHeaderCtrl->SetItem(7, &hdi); strRes.ReleaseBuffer(); }
void CTxMsgListView::OnColumnclickLstcMsgDetails(NMHDR* pNMHDR, LRESULT* pResult) { NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; // If it is first column if( pNMListView->iSubItem == 0 ) { // Get the status from Image Index BOOL bToBeChecked = FALSE; // Change header Control Image Index CHeaderCtrl* pHeader = m_omLctrMsgList.GetHeaderCtrl(); if( pHeader != nullptr ) { // Get Current Image Index HDITEM hditem; hditem.mask = HDI_IMAGE | HDI_FORMAT; if( pHeader->GetItem(0, &hditem ) == TRUE ) { // Image Index To be Set int nNewImageIndex = 0; // Toggle Image Index if( hditem.iImage == 0 ) { bToBeChecked = TRUE; nNewImageIndex = 1; } // Update Image Index hditem.fmt |= HDF_IMAGE; hditem.iImage = nNewImageIndex; pHeader->SetItem(0, &hditem ); // Update Message Check Value vSetMessageCheckValue( bToBeChecked ); CTxFunctionsView* pView = (CTxFunctionsView*) pomGetFunctionsViewPointer(); if( pView != nullptr ) { if(pView->m_CheckBoxAutoUpdate.GetCheck() == BST_CHECKED) { pView->vAccessButtonApply(); this->SetFocus(); } } } } } *pResult = 0; }
void CDownloadClientsCtrl::Localize() { CHeaderCtrl* pHeaderCtrl = GetHeaderCtrl(); HDITEM hdi; hdi.mask = HDI_TEXT; CString strRes; strRes = GetResString(IDS_QL_USERNAME); hdi.pszText = strRes.GetBuffer(); pHeaderCtrl->SetItem(0, &hdi); strRes.ReleaseBuffer(); strRes = GetResString(IDS_CD_CSOFT); hdi.pszText = strRes.GetBuffer(); pHeaderCtrl->SetItem(1, &hdi); strRes.ReleaseBuffer(); strRes = GetResString(IDS_FILE); hdi.pszText = strRes.GetBuffer(); pHeaderCtrl->SetItem(2, &hdi); strRes.ReleaseBuffer(); strRes = GetResString(IDS_DL_SPEED); hdi.pszText = strRes.GetBuffer(); pHeaderCtrl->SetItem(3, &hdi); strRes.ReleaseBuffer(); strRes = GetResString(IDS_AVAILABLEPARTS); hdi.pszText = strRes.GetBuffer(); pHeaderCtrl->SetItem(4, &hdi); strRes.ReleaseBuffer(); strRes = GetResString(IDS_CL_TRANSFDOWN); hdi.pszText = strRes.GetBuffer(); pHeaderCtrl->SetItem(5, &hdi); strRes.ReleaseBuffer(); strRes = GetResString(IDS_CL_TRANSFUP); hdi.pszText = strRes.GetBuffer(); pHeaderCtrl->SetItem(6, &hdi); strRes.ReleaseBuffer(); strRes = GetResString(IDS_META_SRCTYPE); hdi.pszText = strRes.GetBuffer(); pHeaderCtrl->SetItem(7, &hdi); strRes.ReleaseBuffer(); }
int SortStatus(CListCtrl &list, int status) // 0..(n-1)*2 => select column code // -1 => clear the sorted column { // -2 => return only the sorted column code CHeaderCtrl *pHeader = list.GetHeaderCtrl(); int ix = pHeader->GetItemCount(), rq = (status + 2) / 2 - 1; HDITEM hi; if (rq >= ix) status = -1; // search the old sorted column hi.mask = HDI_IMAGE|HDI_LPARAM; while (--ix >= 0) { pHeader->GetItem(ix, &hi); if (hi.iImage == 0) continue; // the old sorted column is found if (status == -2) { // Req = -2 : put the status (state and sorted column) return ix * 2 + (hi.iImage & 1); } else if (rq != ix) { // delete old display icon hi.iImage = 0; // hi.lParam |= STI_REVERSE; //************************ pHeader->SetItem(ix, &hi); } break; } if (status < 0) return -1; // there is not sorted column ! if (rq != ix) pHeader->GetItem(rq, &hi); hi.lParam = (hi.lParam & ~1) | (status & 1); hi.iImage = hi.lParam; pHeader->SetItem(rq, &hi); return status; }
void CFriendListCtrl::Localize() { CHeaderCtrl* pHeaderCtrl = GetHeaderCtrl(); HDITEM hdi; hdi.mask = HDI_TEXT; CString strRes; strRes = GetResString(IDS_QL_USERNAME); hdi.pszText = const_cast<LPTSTR>((LPCTSTR)strRes); pHeaderCtrl->SetItem(0, &hdi); int iItems = GetItemCount(); for (int i = 0; i < iItems; i++) UpdateFriend(i, (CFriend*)GetItemData(i)); }
CString GetColumnTitle(CListCtrl &list, int iSubItem, LPCTSTR pszTitle) { CHeaderCtrl *pHeader = list.GetHeaderCtrl(); char buffer[maxTitleLength] = {0, }; HDITEM hi; hi.mask = HDI_FORMAT|HDI_TEXT; hi.pszText = buffer; hi.cchTextMax = maxTitleLength; if (pHeader->GetItem(iSubItem, &hi) && pszTitle) { hi.pszText = LPTSTR(pszTitle); pHeader->SetItem(iSubItem, &hi); } return CString(buffer); }
void CTxMsgListView::vCheckHeaderCtrl(bool bCheck) { CHeaderCtrl* pHeader = m_omLctrMsgList.GetHeaderCtrl(); if( pHeader != nullptr ) { // Get Current Image Index HDITEM hditem; hditem.mask = HDI_IMAGE | HDI_FORMAT; if( pHeader->GetItem(0, &hditem ) == TRUE ) { // Update Image Index hditem.fmt |= HDF_IMAGE; hditem.iImage = bCheck; pHeader->SetItem(0, &hditem ); } } }
// Resize columns in a header void CLeftView::HeaderAutoFit(int nItem, bool change) { CListCtrl& listctrl = GetListCtrl(); CHeaderCtrl* pCtrl = listctrl.GetHeaderCtrl(); if(pCtrl != NULL) { ASSERT(pCtrl != NULL); HD_ITEM hi; CRect rClient; GetClientRect(&rClient); // size without vscroll and hscroll bars int nItemCount = pCtrl->GetItemCount(); int nHBoarder = ::GetSystemMetrics(SM_CXBORDER); //CScrollBar* pBar; //DWORD dwStyle = GetStyle(); //int nScrollWidth = ::GetSystemMetrics(SM_CXVSCROLL); ////If no scroll bars, set width to zero //pBar = GetScrollBarCtrl(SB_VERT); //if ((pBar != NULL && !pBar->IsWindowEnabled()) || // (pBar == NULL && !(dwStyle & WS_VSCROLL))) // nScrollWidth = 0; //int t_width = 0; // //hi.mask = HDI_WIDTH; //pCtrl->GetItem(0, &hi); //t_width = hi.cxy; //hi.mask = HDI_WIDTH; //pCtrl->GetItem(1, &hi); //t_width += hi.cxy; hi.mask = HDI_WIDTH; pCtrl->GetItem(nItem, &hi); hi.mask = HDI_WIDTH; int width = hi.cxy; hi.cxy = rClient.Width() - hi.cxy + nHBoarder - 1; //TRACE("change %d, width %d, t_width %d, ITEM %d, WIDTH %d, O_ITEM %d, O_WIDTH %d\n", (change == true?1:0), rClient.Width(), t_width, nItem, width, (nItem==0?1:0), hi.cxy); if (change == true) pCtrl->SetItem((nItem==0?1:0), &hi); } }
void CCompareResultsDlg::OnColumnClick(NMHDR *pNotifyStruct, LRESULT *pLResult) { NMHEADER *pNMHeaderCtrl = (NMHEADER *)pNotifyStruct; // Get column number to CItemData value int isortcolumn = pNMHeaderCtrl->iItem; if (m_iSortedColumn == isortcolumn) { m_bSortAscending = !m_bSortAscending; } else { m_iSortedColumn = isortcolumn; m_bSortAscending = true; } m_LCResults.SortItems(CRCompareFunc, (LPARAM)this); // Reset item listindex for (int i = 0; i < m_LCResults.GetItemCount(); i++) { DWORD_PTR dwItemData = m_LCResults.GetItemData(i); st_CompareData *pst_data = GetCompareData(dwItemData); ASSERT(pst_data != NULL); pst_data->listindex = i; } #if (WINVER < 0x0501) // These are already defined for WinXP and later #define HDF_SORTUP 0x0400 #define HDF_SORTDOWN 0x0200 #endif HDITEM hdi; hdi.mask = HDI_FORMAT; CHeaderCtrl *pHDRCtrl; pHDRCtrl = m_LCResults.GetHeaderCtrl(); pHDRCtrl->GetItem(isortcolumn, &hdi); // Turn off all arrows hdi.fmt &= ~(HDF_SORTUP | HDF_SORTDOWN); // Turn on the correct arrow hdi.fmt |= ((m_bSortAscending == TRUE) ? HDF_SORTUP : HDF_SORTDOWN); pHDRCtrl->SetItem(isortcolumn, &hdi); *pLResult = TRUE; // Say we have done all processing on return }
void CKadSearchListCtrl::Localize() { // who let this empty? // masta notices those things // and ornis have to do the slavework :) 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; */ case colNum: strRes = _T("Number"); break; case colKey: strRes = _T("Key"); break; case colType: strRes = _T("Type"); break; case colName: strRes = _T("Name"); break; case colStop: strRes = _T("Status"); break; case colResponses: strRes = _T("Responses"); break; case colLoad: strRes = _T("Load"); break; case colPacketsSent: strRes = _T("Packets Sent"); break; default: strRes = _T(""); 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)); }
void CListCtrlEx::SortListCtrlNone() { if (this->m_pColumnMap[abs(this->m_nSortColumn) - 1] > 0) { CHeaderCtrl* pHeaderCtrl = GetHeaderCtrl(); pHeaderCtrl->SetImageList(&this->m_nArrowList); HDITEM hdrItem; int nColumns = pHeaderCtrl->GetItemCount(); for (int index = 0; index < nColumns; index++) { hdrItem.mask = HDI_FORMAT | HDI_IMAGE | HDI_LPARAM; pHeaderCtrl->GetItem(index, &hdrItem); hdrItem.fmt = hdrItem.fmt & HDF_JUSTIFYMASK | HDF_STRING; pHeaderCtrl->SetItem(index, &hdrItem); } } }
void CPlayerSubresyncBar::ReloadTranslatableResources() { SetWindowText(ResStr(IDS_SUBRESYNC_CAPTION)); m_strYes = m_strYesMenu = ResStr(IDS_SUBRESYNC_YES); m_strNo = m_strNoMenu = ResStr(IDS_SUBRESYNC_NO); m_strYes.Remove(_T('&')); m_strNo.Remove(_T('&')); CHeaderCtrl* pHeaderCtrl = m_list.GetHeaderCtrl(); if (pHeaderCtrl && pHeaderCtrl->GetItemCount() > 4) { auto setColumnHeaderText = [pHeaderCtrl](int nPos, CString str) { HDITEM item; item.mask = HDI_TEXT; item.pszText = (LPTSTR)(LPCTSTR)str; item.cchTextMax = str.GetLength() + 1; VERIFY(pHeaderCtrl->SetItem(nPos, &item)); }; setColumnHeaderText(COL_START, ResStr(IDS_SUBRESYNC_CLN_TIME)); setColumnHeaderText(COL_END, ResStr(IDS_SUBRESYNC_CLN_END)); setColumnHeaderText(COL_PREVSTART, ResStr(IDS_SUBRESYNC_CLN_PREVIEW)); setColumnHeaderText(COL_PREVEND, ResStr(IDS_SUBRESYNC_CLN_END)); if (m_mode == VOBSUB) { ASSERT(pHeaderCtrl->GetItemCount() == COL_COUNT_VOBSUB); setColumnHeaderText(COL_VOBID, ResStr(IDS_SUBRESYNC_CLN_VOB_ID)); setColumnHeaderText(COL_CELLID, ResStr(IDS_SUBRESYNC_CLN_CELL_ID)); setColumnHeaderText(COL_FORCED, ResStr(IDS_SUBRESYNC_CLN_FORCED)); } else if (m_mode == TEXTSUB) { ASSERT(pHeaderCtrl->GetItemCount() == COL_COUNT_TEXTSUB); setColumnHeaderText(COL_TEXT, ResStr(IDS_SUBRESYNC_CLN_TEXT)); setColumnHeaderText(COL_STYLE, ResStr(IDS_SUBRESYNC_CLN_STYLE)); setColumnHeaderText(COL_FONT, ResStr(IDS_SUBRESYNC_CLN_FONT)); setColumnHeaderText(COL_CHARSET, ResStr(IDS_SUBRESYNC_CLN_CHARSET)); setColumnHeaderText(COL_UNICODE, ResStr(IDS_SUBRESYNC_CLN_UNICODE)); setColumnHeaderText(COL_LAYER, ResStr(IDS_SUBRESYNC_CLN_LAYER)); setColumnHeaderText(COL_ACTOR, ResStr(IDS_SUBRESYNC_CLN_ACTOR)); setColumnHeaderText(COL_EFFECT, ResStr(IDS_SUBRESYNC_CLN_EFFECT)); } } }