//----------------------------- FUNCTION -------------------------------------* void PropGSDModule::FillModuleExtUserPrm(CDP_Module * pModule) { CListCtrl* pExt = (CListCtrl*)GetDlgItem(IDC_LIST_AVAIL_MOD_EXTPRM); CListCtrl* pUsedExt = (CListCtrl*)GetDlgItem(IDC_LIST_USED_MOD_EXTPRM); if (pExt == NULL || pUsedExt == NULL) { ASSERT(FALSE); return; } pExt->DeleteAllItems( ); pUsedExt->DeleteAllItems(); if (pModule == NULL) { return; } CObList* pExtParams = pModule->GetExtParams(); POSITION pos = pExtParams->GetHeadPosition(); LV_ITEM lv; int index = 0; while (pos) { ExtParam* pParam = (ExtParam*)pExtParams->GetNext(pos); if (!pParam->IsConstantParam()) { ::memset(&lv, 0, sizeof(LV_ITEM)); lv.mask = LVIF_TEXT | LVIF_PARAM; lv.iItem = index++; lv.pszText = (LPTSTR)(LPCTSTR)pParam->GetDescription(); lv.lParam = (DWORD)pParam; if (pParam->IsUsed()) pUsedExt->InsertItem(&lv); else pExt->InsertItem(&lv); } } }
//----------------------------- FUNCTION -------------------------------------* void PropGSDModule::FillDeviceExtUserPrm() { CListCtrl* pExt = (CListCtrl*)GetDlgItem(IDC_LIST_AVAILABLE_EXT_USER_PARAM); CListCtrl* pUsedExt = (CListCtrl*)GetDlgItem(IDC_LIST_USED_EXT_USER_PARAMS); if (pExt == NULL || pUsedExt == NULL) return; pExt->DeleteAllItems(); pUsedExt->DeleteAllItems(); LV_ITEM lv; POSITION pos = ExtUserParams.GetHeadPosition(); int index = 0; while (pos) { ExtParam* pParam = (ExtParam*)ExtUserParams.GetNext(pos); if (!pParam->IsConstantParam()) { ::memset(&lv, 0, sizeof(LV_ITEM)); lv.mask = LVIF_TEXT | LVIF_PARAM; lv.iItem = index++; lv.pszText = (LPTSTR)(LPCTSTR)pParam->GetDescription(); lv.lParam = (DWORD)pParam; if (pParam->IsUsed()) pUsedExt->InsertItem(&lv); else pExt->InsertItem(&lv); } } if (pUsedExt->GetItemCount() > 0) m_bExtUserPrms = TRUE; else m_bExtUserPrms = FALSE; }
void CMainFrame::FillFeatureInfo() { CListCtrl * pGISFeatureList = (CListCtrl *)m_GISLayerBar.GetDlgItem(IDC_LIST_FEATURE_INFO); pGISFeatureList->DeleteAllItems (); if(!m_bFeatureInfoInitialized) { pGISFeatureList->InsertColumn(0,"Attribute",LVCFMT_LEFT,70); pGISFeatureList->InsertColumn(1,"Data",LVCFMT_LEFT,100); m_bFeatureInfoInitialized = true; } LV_ITEM lvi; for(int i = 0; i < m_FeatureInfoVector.size(); i++) { lvi.mask = LVIF_TEXT; lvi.iItem = i; lvi.iSubItem = 0; char text_str[100]; sprintf(text_str,"%s", m_FeatureInfoVector[i].Attribute.c_str()); lvi.pszText = text_str; int Index = pGISFeatureList->InsertItem(&lvi); pGISFeatureList->SetItemText(Index,1,m_FeatureInfoVector[i].Data); } }
void CSequenceInstrumentEditPanel::SetupDialog(LPCTSTR *pListItems) { // Instrument settings CListCtrl *pList = static_cast<CListCtrl*>(GetDlgItem(IDC_INSTSETTINGS)); pList->DeleteAllItems(); pList->InsertColumn(0, _T(""), LVCFMT_LEFT, 26); pList->InsertColumn(1, _T("#"), LVCFMT_LEFT, 30); pList->InsertColumn(2, _T("Effect name"), LVCFMT_LEFT, 84); pList->SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_FULLROWSELECT | LVS_EX_CHECKBOXES); for (int i = SEQ_COUNT - 1; i > -1; i--) { pList->InsertItem(0, _T(""), 0); pList->SetCheck(0, 0); pList->SetItemText(0, 1, _T("0")); pList->SetItemText(0, 2, pListItems[i]); } pList->SetItemState(m_iSelectedSetting, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED); SetDlgItemInt(IDC_SEQ_INDEX, m_iSelectedSetting); CSpinButtonCtrl *pSequenceSpin = static_cast<CSpinButtonCtrl*>(GetDlgItem(IDC_SEQUENCE_SPIN)); pSequenceSpin->SetRange(0, MAX_SEQUENCES - 1); CRect rect(190 - 2, 30 - 2, CSequenceEditor::SEQUENCE_EDIT_WIDTH, CSequenceEditor::SEQUENCE_EDIT_HEIGHT); m_pSequenceEditor = new CSequenceEditor(GetDocument()); m_pSequenceEditor->CreateEditor(this, rect); m_pSequenceEditor->ShowWindow(SW_SHOW); }
void COrderManagerDlg::InitOrderList() { CListCtrl* OrderList = (CListCtrl*)this->GetDlgItem(IDC_LIST_ORDERMGR_ORDERS); CString strTableIndex; strTableIndex.Format(_T("TABLE%d"), m_nTableIndex); CString strOrder = theApp.GetProfileStringA(strTableIndex, _T("Order"), NULL); vector<stOrder> vecOrder = ParsingOrderString(strOrder); if (vecOrder.empty() == false) { OrderList->DeleteAllItems(); for (vector<stOrder>::size_type i = 0; i < vecOrder.size(); i++) { int nIndex = OrderList->GetItemCount(); OrderList->InsertItem(nIndex, vecOrder[i].strMenu); OrderList->SetItemText(nIndex, 1, vecOrder[i].strCount); OrderList->SetItemText(nIndex, 2, vecOrder[i].strPrice); } UpdateData(FALSE); } UpdateTotalPrice(); }
void CFileFindDlg::OnOK() { UpdateData(TRUE); CUserCfg* pUsrCfg = ((CDbgRemoteApp*)AfxGetApp())->pGetUserCfg(); pUsrCfg->AddFileFindPath(m_FindFolder); pUsrCfg->AddFileFindTypes(m_FileType); pUsrCfg->AddFileFindWhat(m_FindText); LoadFindHistory(); UpdateData(FALSE); CListCtrl* pLst = (CListCtrl*)GetDlgItem(IDC_RESULTS_LST); pLst->DeleteAllItems(); if (m_hFindThread) { m_bCancelFind = TRUE; if (::WaitForSingleObject(m_hFindThread, 250) == WAIT_TIMEOUT) { TerminateThread(m_hFindThread, -1); } m_hFindThread = NULL; } m_bCancelFind = FALSE; m_hFindThread = (HANDLE)_beginthread(CFileFindDlg::FileFindThreadFn, 0, this); CStatic* pStc = (CStatic*)GetDlgItem(IDC_STATIC_NUMRESULTS); pStc->SetWindowText("Searching..."); //CDialog::OnOK(); }
void CfsclientwDlg::dir(const char* folder) { vector<file_info> vf; if (m_dwM->dir(vf, folder) < 0) { return; } CEdit * pe = (CEdit *)GetDlgItem(IDC_EDIT_FILE); pe->SetWindowText(folder); //enableButton("download", 0); CListCtrl * pl = (CListCtrl *)GetDlgItem(IDC_FLIST); pl->DeleteAllItems(); char buf[256]; int64 total_size = 0; for (size_t i = 0; i < vf.size(); i++) { InsertFileItem(pl, (int)i, vf[i], buf); total_size += vf[i].filesize; } char c; float f = size2float(total_size, c); sprintf(buf, " Files: %d, size: %.2f %c", vf.size(), f, c); pe = (CEdit*)GetDlgItem(IDC_EDIT_STATUS); pe->SetWindowText(buf); }
BOOL CConfigShortcuts::OnInitDialog() { CPropertyPage::OnInitDialog(); CAccelerator *pAccel = theApp.GetAccelerator(); CListCtrl *pListView = static_cast<CListCtrl*>(GetDlgItem(IDC_SHORTCUTS)); CRect r; // // // pListView->GetClientRect(&r); int w = r.Width() - ::GetSystemMetrics(SM_CXHSCROLL); pListView->DeleteAllItems(); pListView->InsertColumn(0, L"Action", LVCFMT_LEFT, static_cast<int>(.52 * w)); pListView->InsertColumn(1, L"Modifier", LVCFMT_LEFT, static_cast<int>(.23 * w)); pListView->InsertColumn(2, L"Key", LVCFMT_LEFT, static_cast<int>(.25 * w)); // Build shortcut list for (int i = 0; i < CAccelerator::ACCEL_COUNT; ++i) { pListView->InsertItem(i, pAccel->GetItemName(i), 0); pListView->SetItemText(i, 1, pAccel->GetItemModName(i)); pListView->SetItemText(i, 2, pAccel->GetItemKeyName(i)); m_iKeys[i] = pAccel->GetItemKey(i); m_iMods[i] = pAccel->GetItemMod(i); } pListView->SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES); pListView->SetSelectionMark(0); m_iSelectedItem = 0; return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
BOOL CConfigShortcuts::OnInitDialog() { CPropertyPage::OnInitDialog(); CAccelerator *pAccel = theApp.GetAccelerator(); CListCtrl *pListView = (CListCtrl*)GetDlgItem(IDC_SHORTCUTS); pListView->DeleteAllItems(); pListView->InsertColumn(0, _T("Action"), LVCFMT_LEFT, 170); pListView->InsertColumn(1, _T("Modifier"), LVCFMT_LEFT, 90); pListView->InsertColumn(2, _T("Key"), LVCFMT_LEFT, 110); // Build shortcut list for (int i = 0; i < CAccelerator::ACCEL_COUNT; ++i) { pListView->InsertItem(i, pAccel->GetItemName(i), 0); pListView->SetItemText(i, 1, pAccel->GetItemModName(i)); pListView->SetItemText(i, 2, pAccel->GetItemKeyName(i)); m_iKeys[i] = pAccel->GetItemKey(i); m_iMods[i] = pAccel->GetItemMod(i); } pListView->SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES); pListView->SetSelectionMark(0); m_iSelectedItem = 0; return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
void ArxDbgUiTdcRxObjectBase::drawPropsList(CListCtrl& dataList) { this->LockWindowUpdate(); // suppress redraw events dataList.DeleteAllItems(); // remove any existing items from the control // build up the list view control LV_ITEM lvi; lvi.mask = 0; int row = 0; POSITION pos1 = m_fieldStrList.GetHeadPosition(); POSITION pos2 = m_valueStrList.GetHeadPosition(); while ((pos1 != NULL) && (pos2 != NULL)) { lvi.iItem = row; lvi.iSubItem = 0; dataList.InsertItem(&lvi); dataList.SetItemText(row, 0, m_fieldStrList.GetNext(pos1)); dataList.SetItemText(row, 1, m_valueStrList.GetNext(pos2)); row++; } this->UnlockWindowUpdate(); // flushes redraw events }
void CBrowser::RemoveAllBitmaps ( void ) { CListCtrl* pList = NULL; if ( ( pList = ( CListCtrl* ) GetDlgItem ( IDC_PREVIEW_LIST ) ) == NULL ) return; m_iArrayCount = 0; pList->DeleteAllItems ( ); }
// @pymethod |PyCListCtrl|DeleteAllItems|Deletes all items from the list. PyObject *PyCListCtrl_DeleteAllItems( PyObject *self, PyObject *args ) { CListCtrl *pList; if (!(pList=GetListCtrl(self))) return NULL; CHECK_NO_ARGS2(args, "DeleteAllItems"); GUI_BGN_SAVE; BOOL ok = pList->DeleteAllItems(); GUI_END_SAVE; if (!ok) RETURN_ERR("DeleteAllItems failed"); RETURN_NONE; }
void GeometryListView::Update() // Rebuild the list of geometry resources. { // CPropertyPage::OnUpdate(pSender, lHint, pHint); // TODO: Add extra initialization here CTerrainDoc* doc = GetDocument(); Geometry* g = doc->GetGeometryList(); int GeometryCount = doc->GetGeometryCount(); CListCtrl* list = &m_ListControl /* (CListCtrl*) GetDlgItem(IDC_GEOMETRYLIST) */; if (list->m_hWnd == NULL) return; // Setup the column headings. while (list->DeleteColumn(0)) ; LV_COLUMN col; col.mask = LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT | LVCF_WIDTH; col.fmt = LVCFMT_LEFT; // Name. col.pszText = "Name"; col.iSubItem = 0; col.cx = 75; list->InsertColumn(0, &col); // Filename. col.iSubItem = 1; col.pszText = "Filename"; col.cx = 100; list->InsertColumn(1, &col); // Comment. col.iSubItem = 2; col.pszText = "Comment"; col.cx = 170; list->InsertColumn(2, &col); // Set the list items. list->DeleteAllItems(); list->SetItemCount(GeometryCount); for (int i = 0; i < GeometryCount; i++, g = g->Next) { if (g == NULL) break; int index = list->InsertItem(i, g->GetName()); list->SetItemText(index, 1, g->GetFilename()); list->SetItemText(index, 2, g->GetComment()); list->SetItemData(index, i); } }
void CHistoryDlg::OnButtonHistCompact() { // Compact History File CWaitCursor wc; CFile theHistoryFile; CFileException cfe; if(theHistoryFile.Open("HISTORY.DAT", CFile::modeReadWrite, &cfe) == FALSE) { TRACE("CHistoryDlg::BuildHistoryFileStats() - File Not Opened\n"); return; } CTaskObject oneTask; DWORD dwReadPos = 0; DWORD dwWritePos = 0; while(oneTask.ReadFromFile(theHistoryFile) == TRUE) { if(oneTask.m_bHistoryDeleted == TRUE) continue; dwReadPos = theHistoryFile.GetPosition(); theHistoryFile.Seek(dwWritePos, CFile::begin); oneTask.WriteToFile(theHistoryFile, FALSE); dwWritePos = theHistoryFile.GetPosition(); theHistoryFile.Seek(dwReadPos, CFile::begin); } theHistoryFile.SetLength(dwWritePos); theHistoryFile.Close(); CListCtrl* pListCtrl = (CListCtrl*) GetDlgItem(IDC_LIST_HISTORY); pListCtrl->DeleteAllItems(); BuildHistoryFileStats(pListCtrl); UpdateButtons(); }
void CModulePropertiesDlg::FillSongList() { CListCtrl *pSongList = static_cast<CListCtrl*>(GetDlgItem(IDC_SONGLIST)); CString Text; pSongList->DeleteAllItems(); // Song editor int Songs = m_pDocument->GetTrackCount(); for (int i = 0; i < Songs; ++i) { Text.Format(TRACK_FORMAT, i + 1, m_pDocument->GetTrackTitle(i).GetString()); // start counting songs from 1 pSongList->InsertItem(i, Text); } // Select first song when dialog is displayed SelectSong(0); }
void TestRunnerDlg::reset () { _testsRun = 0; _errors = 0; _failures = 0; _testEndTime = _testStartTime; updateCountsDisplay (); _activeTest = 0; _result = 0; CListCtrl *listCtrl = (CListCtrl *)GetDlgItem (IDC_LIST); listCtrl->DeleteAllItems (); _testsProgress->reset (); }
void COrderManagerDlg::UpdateMenuList() { CListCtrl* MenuList = (CListCtrl*)this->GetDlgItem(IDC_LIST_ORDERMGR_MENUS); char szQuery[1024] = { 0 }; int index = 0; MenuList->DeleteAllItems(); sprintf_s(szQuery, "select menu_name,menu_price from tblMenu order by menu_name"); CppSQLite3Query data = g_SqlMgr.execQuery(szQuery); while (!data.eof()) { index = MenuList->GetItemCount(); MenuList->InsertItem(index, data.fieldValue(0)); MenuList->SetItemText(index, 1, data.fieldValue(1)); data.nextRow(); } UpdateData(FALSE); }
void CDataProcess::ShowInfo(HWND hwnd) { CListCtrl* pList = (CListCtrl*)CWnd::FromHandle(hwnd); if(!pList) return; pList->DeleteAllItems(); ConferenceSourceList::iterator it; for (it = m_ConferenceSourceList.begin(); it != m_ConferenceSourceList.end(); it++) { int nCount = pList->GetItemCount(); pList->InsertItem(nCount, ""); pList->SetItemText(nCount, 0, it->ConfId); pList->SetItemText(nCount, 1, CFunction::ConvertUtf8ToGBKEx(it->ConfName)); pList->SetItemText(nCount, 2, it->StartTime); pList->SetItemText(nCount, 3, it->EndTime); pList->SetItemText(nCount, 4, CFunction::ConvertUtf8ToGBKEx(it->Department)); pList->SetItemText(nCount, 5, CFunction::ConvertUtf8ToGBKEx(it->Room.RoomName)); pList->SetItemText(nCount, 6, it->ParticipantNumber); pList->SetItemText(nCount, 7, CFunction::ConvertUtf8ToGBKEx(it->ConfState)); pList->SetItemText(nCount, 8, CFunction::ConvertUtf8ToGBKEx(it->ConfType)); } }
void CBrowser::OnShowWindow ( BOOL bShow, UINT nStatus ) { if ( bGo ) { // create the image list using images at a size of 64 * 64, // we also specify that we use an independent colour depth m_imageList.Create ( 64, 64, ILC_COLORDDB, 1, 16 ); m_imageList.SetBkColor ( RGB ( 255, 255, 255 ) ); CListCtrl* pList = NULL; if ( ( pList = ( CListCtrl* ) GetDlgItem ( IDC_PREVIEW_LIST ) ) == NULL ) return; pList->DeleteAllItems ( ); pList->SetImageList ( &m_imageList, LVSIL_NORMAL ); pList->SetItemCount ( 1000 ); bGo = false; } }
BOOL CInstrumentEditorN163::OnInitDialog() { CSequenceInstrumentEditPanel::OnInitDialog(); // Instrument settings CListCtrl *pList = (CListCtrl*) GetDlgItem(IDC_INSTSETTINGS); pList->DeleteAllItems(); pList->InsertColumn(0, _T(""), LVCFMT_LEFT, 26); pList->InsertColumn(1, _T("#"), LVCFMT_LEFT, 30); pList->InsertColumn(2, _T("Effect name"), LVCFMT_LEFT, 84); pList->SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_FULLROWSELECT | LVS_EX_CHECKBOXES); for (int i = 0; i < CInstrumentN163::SEQUENCE_COUNT; ++i) { pList->InsertItem(i, _T(""), 0); pList->SetCheck(i, 0); pList->SetItemText(i, 1, _T("0")); pList->SetItemText(i, 2, INST_SETTINGS_N163[i]); } pList->SetItemState(m_iSelectedSetting, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED); SetDlgItemInt(IDC_SEQ_INDEX, m_iSelectedSetting); CSpinButtonCtrl *pSequenceSpin = (CSpinButtonCtrl*)GetDlgItem(IDC_SEQUENCE_SPIN); pSequenceSpin->SetRange(0, MAX_SEQUENCES - 1); CRect rect(190 - 2, 30 - 2, CSequenceEditor::SEQUENCE_EDIT_WIDTH, CSequenceEditor::SEQUENCE_EDIT_HEIGHT); m_pSequenceEditor = new CSequenceEditor(GetDocument()); m_pSequenceEditor->CreateEditor(this, rect); m_pSequenceEditor->ShowWindow(SW_SHOW); m_pSequenceEditor->SetMaxValues(MAX_VOLUME, CInstrumentN163::MAX_WAVE_COUNT - 1); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
void CfoodTrackView::FilterClass() { CDlgFilterClass dlg; if(dlg.DoModal()==IDCANCEL) return; CListCtrl *pListCtrl; pListCtrl = &this->GetListCtrl(); pListCtrl->DeleteAllItems(); while(pListCtrl->DeleteColumn(0)){} //LV_ITEM lvitem; CStudent *pStu; CItem *pItem; CString sTmp; CClass *pClass; int i=0,iPos=0,j=0; CfoodTrackDoc *pDoc=this->GetDocument(); pListCtrl->InsertColumn(0,"*",LVCFMT_LEFT,30,-1); pListCtrl->InsertColumn(1,"日期",LVCFMT_LEFT,80,-1); pListCtrl->InsertColumn(2,"时间",LVCFMT_LEFT,40,-1); pListCtrl->InsertColumn(3,"车号",LVCFMT_LEFT,80,-1); pListCtrl->InsertColumn(4,"教练",LVCFMT_LEFT,50,-1); pListCtrl->InsertColumn(5,"姓名",LVCFMT_LEFT,50,-1); pListCtrl->InsertColumn(6,"性别",LVCFMT_LEFT,40,-1); pListCtrl->InsertColumn(7,"身份证",LVCFMT_LEFT,100,-1); pListCtrl->InsertColumn(8,"联系地址",LVCFMT_LEFT,110,-1); pListCtrl->InsertColumn(9,"电话",LVCFMT_LEFT,80,-1); pListCtrl->InsertColumn(10,"上车时间",LVCFMT_LEFT,70,-1); pListCtrl->InsertColumn(11,"场考时间",LVCFMT_LEFT,70,-1); pListCtrl->InsertColumn(12,"路考时间",LVCFMT_LEFT,70,-1); pListCtrl->InsertColumn(13,"考试类型",LVCFMT_LEFT,70,-1); pListCtrl->InsertColumn(14,"发证日期",LVCFMT_LEFT,70,-1); if(pDoc->ReadClasss(dlg.m_tmStart,dlg.m_tmEnd,dlg.m_sAutoNo,dlg.m_sTeacher)<=0) return; for(i=0;i<pDoc->m_arrClass.GetSize();i++) { pClass = pDoc->m_arrClass[i]; for(j=0;j<pClass->m_arrStudent.GetSize();j++) { pStu = pClass->m_arrStudent[j]; sTmp.Format("%d",pListCtrl->GetItemCount()+1); iPos = pListCtrl->InsertItem(pListCtrl->GetItemCount(),sTmp,0); sTmp.Format("%d-%d-%d",pClass->m_F_Date.GetYear(),pClass->m_F_Date.GetMonth(),pClass->m_F_Date.GetDay()); pListCtrl->SetItemText(iPos,1,sTmp); if(pClass->m_F_NoonID==0) sTmp = "上午"; else sTmp = "下午"; pListCtrl->SetItemText(iPos,2,sTmp); pListCtrl->SetItemText(iPos,3,pClass->m_F_AutoNo); pListCtrl->SetItemText(iPos,4,pClass->m_F_Teacher); pListCtrl->SetItemText(iPos,5,pStu->m_F_ItemName); pListCtrl->SetItemText(iPos,6,pStu->m_F_Sex); pListCtrl->SetItemText(iPos,7,pStu->m_F_SN); pListCtrl->SetItemText(iPos,8,pStu->m_F_Address); pListCtrl->SetItemText(iPos,9,pStu->m_F_Tel); //*/日期/时间/车号/教练/姓名/性别/身份证/联系地址/电话/上车时间 //场考时间/路考时间/考试类型/发证日期 if(pStu->m_tmUpAuto>0) { sTmp.Format("%d-%d-%d",pStu->m_tmUpAuto.GetYear(),pStu->m_tmUpAuto.GetMonth(),pStu->m_tmUpAuto.GetDay()); pListCtrl->SetItemText(iPos,10,sTmp); } if(pStu->m_tmExamField>0) { sTmp.Format("%d-%d-%d",pStu->m_tmExamField.GetYear(),pStu->m_tmExamField.GetMonth(),pStu->m_tmExamField.GetDay()); pListCtrl->SetItemText(iPos,11,sTmp); } if(pStu->m_tmExamRoad>0) { sTmp.Format("%d-%d-%d",pStu->m_tmExamRoad.GetYear(),pStu->m_tmExamRoad.GetMonth(),pStu->m_tmExamRoad.GetDay()); pListCtrl->SetItemText(iPos,12,sTmp); } pItem = pDoc->GetItemByID(&pDoc->m_arrExamType,pStu->m_nExamTypeID); if(pItem) pListCtrl->SetItemText(iPos,13,pItem->m_F_ItemName); if(pStu->m_tmEnd>0) { sTmp.Format("%d-%d-%d",pStu->m_tmEnd.GetYear(),pStu->m_tmEnd.GetMonth(),pStu->m_tmEnd.GetDay()); pListCtrl->SetItemText(iPos,14,sTmp); } pListCtrl->SetItemData(iPos,pClass->m_F_ID); } } }
// ************************************************************************** // UpdateStatus () // // Description: // Update the status of controls attached to this dialog based on current // properties of selected item. // // Parameters: // none // // Returns: // void // ************************************************************************** void CKItemPropertiesDlg::UpdateStatus () { // Create a wait cursor object. This will cause the wait cursor, // usually an hourglass, to be displayed. When this object goes // out of scope, its destructor will restore the previous cursor // type. CWaitCursor wc; // Save handle of item with focus. We will have to change the focus // if this item is disabled: HWND hWnd = ::GetFocus (); // Enable next button if we are not at the end of the list: m_cNext.EnableWindow (m_nSelIndex < m_cnItems - 1); // Enable the previous button if we are not at the beginning of the list: m_cPrev.EnableWindow (m_nSelIndex > 0); // Allow the user to modify item ID and access path only if item is invalid: CKItem *pItem = GetSelectedItem (); ASSERT (pItem != NULL); GetDlgItem (IDC_ITEMID)->EnableWindow (!pItem->IsValid ()); GetDlgItem (IDC_ACCESSPATH)->EnableWindow (!pItem->IsValid ()); // Load appropriate datatypes (based on current data type and // item valid state): // First get pointer to data type combo box: CComboBox *pCombo = (CComboBox *)GetDlgItem (IDC_DATATYPE); // then reset it: pCombo->ResetContent (); // then load new entries: if (pItem->IsValid ()) { // If current data type is an array type: if (pItem->GetDataType () & VT_ARRAY) { pCombo->AddString (_T("Byte Array")); pCombo->AddString (_T("Char Array")); pCombo->AddString (_T("Word Array")); pCombo->AddString (_T("Short Array")); pCombo->AddString (_T("DWord Array")); pCombo->AddString (_T("Long Array")); pCombo->AddString (_T("Float Array")); pCombo->AddString (_T("Double Array")); } // else if it is not an array type" else { pCombo->AddString (_T("Boolean")); pCombo->AddString (_T("Byte")); pCombo->AddString (_T("Char")); pCombo->AddString (_T("Word")); pCombo->AddString (_T("Short")); pCombo->AddString (_T("DWord")); pCombo->AddString (_T("Long")); pCombo->AddString (_T("Float")); pCombo->AddString (_T("Double")); pCombo->AddString (_T("String")); } } // If item is not valid (item has not be re-added), allow all data types: else { pCombo->AddString (_T("Native")); pCombo->AddString (_T("Boolean")); pCombo->AddString (_T("Byte")); pCombo->AddString (_T("Byte Array")); pCombo->AddString (_T("Char")); pCombo->AddString (_T("Char Array")); pCombo->AddString (_T("Word")); pCombo->AddString (_T("Word Array")); pCombo->AddString (_T("Short")); pCombo->AddString (_T("Short Array")); pCombo->AddString (_T("DWord")); pCombo->AddString (_T("DWord Array")); pCombo->AddString (_T("Long")); pCombo->AddString (_T("Long Array")); pCombo->AddString (_T("Float")); pCombo->AddString (_T("Float Array")); pCombo->AddString (_T("Double")); pCombo->AddString (_T("Double Array")); pCombo->AddString (_T("String")); } // Fill available 2.0 item properties (We won't be able to do this // unless we have a pointer to the item properties interface.) if (m_pIItemProps != NULL) { TCHAR szBuffer [DEFBUFFSIZE]; WCHAR *pszItemID = NULL; DWORD dwCount = 0; DWORD dwIndex = 0; DWORD *pdwIDs = NULL; LPWSTR *pszDescriptions = NULL; LPWSTR *pszLookupIDs = NULL; VARTYPE *pvtDataTypes = NULL; VARIANT *pvtValues = NULL; HRESULT *pValErrs = NULL; HRESULT *pLookupErrs = NULL; HRESULT hr = E_FAIL; // Get pointer to list control: CListCtrl *pList = (CListCtrl *) GetDlgItem (IDC_LIST); ASSERT (pList != NULL); // Delete any list items that are present: pList->DeleteAllItems (); // Obtain the qualified ID: ASSERT (!m_strItemID.IsEmpty ()); CString strQualifiedID; if (!m_strAccessPath.IsEmpty () && m_pServer->IsKepServerEx ()) { strQualifiedID = m_strAccessPath; strQualifiedID += _T("."); strQualifiedID += m_strItemID; } else strQualifiedID = m_strItemID; // Allocate storage for item ID string: pszItemID = (WCHAR *) CoTaskMemAlloc ((strQualifiedID.GetLength () + 1) * sizeof (WCHAR)); // Convert item ID to UNICODE if needed and copy to allocated memory: #ifdef _UNICODE lstrcpyn (pszItemID, strQualifiedID, strQualifiedID.GetLength () + 1); #else _mbstowcsz (pszItemID, strQualifiedID, strQualifiedID.GetLength () + 1); #endif // Query available properties: hr = m_pIItemProps->QueryAvailableProperties ( pszItemID, &dwCount, &pdwIDs, &pszDescriptions, &pvtDataTypes); if (SUCCEEDED (hr)) { // Get the current property values for the property ID's we // just queried: hr = m_pIItemProps->GetItemProperties (pszItemID, dwCount, pdwIDs, &pvtValues, &pValErrs); if (SUCCEEDED (hr)) { // Get lookup item IDs for the property ID's we just queried: hr = m_pIItemProps->LookupItemIDs (pszItemID, dwCount, pdwIDs, &pszLookupIDs, &pLookupErrs); if (SUCCEEDED (hr)) { // Insert item IDs, descriptions, values and lookup IDs // into the list control: for (dwIndex = 0; dwIndex < dwCount; dwIndex++) { // ID: _itot (pdwIDs [dwIndex], szBuffer, 10); pList->InsertItem (dwIndex, szBuffer); // Description (may have to convert from UNICODE): #ifdef _UNICODE pList->SetItemText (dwIndex, 1, pszDescriptions [dwIndex]); #else _wcstombsz (szBuffer, pszDescriptions [dwIndex], sizeof (szBuffer) / sizeof (TCHAR)); pList->SetItemText (dwIndex, 1, szBuffer); #endif // {roperty value: if (pValErrs && SUCCEEDED (pValErrs [dwIndex])) GetValue (pvtValues [dwIndex], szBuffer, sizeof (szBuffer) / sizeof (TCHAR)); else lstrcpyn (szBuffer, _T("???"), sizeof (szBuffer) / sizeof (TCHAR)); pList->SetItemText (dwIndex, 2, szBuffer); // Lookup item ID (may have to convert from UNICODE): if (pLookupErrs && SUCCEEDED (pLookupErrs [dwIndex])) { #ifdef _UNICODE lstrcpyn (szBuffer, pszLookupIDs [dwIndex], sizeof (szBuffer) / sizeof (TCHAR)); #else _wcstombsz (szBuffer, pszLookupIDs [dwIndex], sizeof (szBuffer) / sizeof (TCHAR)); #endif } else { // No lookup item ID, so place "N/A" in list control: lstrcpyn (szBuffer, _T("N/A"), sizeof (szBuffer) / sizeof (TCHAR)); pszLookupIDs [dwIndex] = NULL; } pList->SetItemText (dwIndex, 3, szBuffer); } } } } // COM requires us to free memory for data passed back to us: for (dwIndex = 0; dwIndex < dwCount; dwIndex++) { if (pszDescriptions && pszDescriptions [dwIndex]) CoTaskMemFree (pszDescriptions [dwIndex]); if (pszLookupIDs && pszLookupIDs [dwIndex]) CoTaskMemFree (pszLookupIDs [dwIndex]); // Clear variants: if (pvtValues) VariantClear (&pvtValues [dwIndex]); } if (pdwIDs) CoTaskMemFree (pdwIDs); if (pszDescriptions) CoTaskMemFree (pszDescriptions); if (pszLookupIDs) CoTaskMemFree (pszLookupIDs); if (pvtDataTypes) CoTaskMemFree (pvtDataTypes); if (pvtValues) CoTaskMemFree (pvtValues); if (pValErrs) CoTaskMemFree (pValErrs); if (pLookupErrs) CoTaskMemFree (pLookupErrs); } // Set the focus to the first control (data type) if the control that // previously had it became disabled: if (hWnd && !::IsWindowEnabled (hWnd)) GetDlgItem (IDC_DATATYPE)->SetFocus (); // Transfer data to controls: UpdateData (false); }
void CItemShopLogCommand::Parse( const MSGROOT* message, CListCtrl& listCtrl, CProgressCtrl& progressCtrl, CStatic& resultStatic, CButton& findButton, CButton& stopButton ) const { switch( message->Protocol ) { case MP_RM_ITEM_SHOP_LOG_ACK: { const MSG_RM_ITEM_SHOP_LOG* m = ( MSG_RM_ITEM_SHOP_LOG* )message; if( m->mRequestTick != mTickCount ) { break; } // 080401 LUJ, 이전 로그에 대한 인덱스 세트를 만들어 중복되지 않도록 체크한다 std::set< DWORD > indexSet; { for( int row = 0; row < listCtrl.GetItemCount(); ++row ) { indexSet.insert( _ttoi( listCtrl.GetItemText( row, 0 ) ) ); } } for( DWORD i = 0; i < m->mSize; ++i ) { const MSG_RM_ITEM_SHOP_LOG::Log& data = m->mLog[ i ]; const DWORD row = listCtrl.GetItemCount(); int step = 0; if( indexSet.end() != indexSet.find( data.mIndex ) ) { continue; } CString text; text.Format( _T( "%d" ), data.mIndex ); listCtrl.InsertItem( row, text, 0 ); listCtrl.SetItemText( row, ++step, CA2WEX< sizeof( data.mDate ) >( data.mDate ) ); listCtrl.SetItemText( row, ++step, mApplication.GetText( data.mType ) ); text.Format( _T( "%d" ), data.mUser.mIndex ); listCtrl.SetItemText( row, ++step, text ); listCtrl.SetItemText( row, ++step, CA2WEX< sizeof( data.mUser.mId ) >( data.mUser.mId ) ); listCtrl.SetItemText( row, ++step, mApplication.GetItemName( data.mItem.mIndex ) ); text.Format( _T( "%d" ), data.mItem.mDbIndex ); listCtrl.SetItemText( row, ++step, text ); text.Format( _T( "%d" ), data.mItem.mQuantity ); listCtrl.SetItemText( row, ++step, text ); } { int minRange; int maxRange; progressCtrl.GetRange( minRange, maxRange ); progressCtrl.SetPos( progressCtrl.GetPos() + m->mSize ); CString text; text.Format( _T( "%d/%d" ), progressCtrl.GetPos(), maxRange ); resultStatic.SetWindowText( text ); // 080523 LUJ, 버튼 활성화 체크가 정상적으로 되도록 수정함 if( progressCtrl.GetPos() == maxRange ) { findButton.EnableWindow( TRUE ); stopButton.EnableWindow( FALSE ); } } break; } case MP_RM_ITEM_SHOP_LOG_SIZE_ACK: { const MSG_DWORD* m = ( MSG_DWORD* )message; const DWORD size = m->dwData; CString text; text.Format( _T( "0/%d" ), size ); resultStatic.SetWindowText( text ); progressCtrl.SetRange32( 0, size ); progressCtrl.SetPos( 0 ); findButton.EnableWindow( FALSE ); stopButton.EnableWindow( TRUE ); listCtrl.DeleteAllItems(); break; } case MP_RM_ITEM_SHOP_LOG_SIZE_NACK: { CString textThereIsNoResult; textThereIsNoResult.LoadString( IDS_STRING1 ); MessageBox( 0, textThereIsNoResult, _T( "" ), MB_ICONERROR | MB_OK ); break; } case MP_RM_ITEM_SHOP_LOG_STOP_ACK: { findButton.EnableWindow( TRUE ); stopButton.EnableWindow( FALSE ); CString textSearchWasStopped; textSearchWasStopped.LoadString( IDS_STRING2 ); MessageBox( 0, textSearchWasStopped, _T( "" ), MB_ICONERROR | MB_OK ); break; } case MP_RM_ITEM_SHOP_LOG_NACK_BY_AUTH: { CString textYouHaveNoAuthority; textYouHaveNoAuthority.LoadString( IDS_STRING18 ); MessageBox( 0, textYouHaveNoAuthority, _T( "" ), MB_OK | MB_ICONERROR ); break; } default: { ASSERT( 0 ); break; } } }
void CExperienceLogCommand::Parse( const MSGROOT* message, CListCtrl& listCtrl, CProgressCtrl& progressCtrl, CStatic& resultStatic, CButton& findButton, CButton& stopButton ) const { switch( message->Protocol ) { case MP_RM_EXP_LOG_GET_SIZE_ACK: { const MSG_DWORD* m = ( MSG_DWORD* )message; const DWORD size = m->dwData; CString text; text.Format( _T( "0/%d" ), size ); resultStatic.SetWindowText( text ); progressCtrl.SetRange32( 0, size ); progressCtrl.SetPos( 0 ); findButton.EnableWindow( FALSE ); stopButton.EnableWindow( TRUE ); listCtrl.DeleteAllItems(); break; } case MP_RM_EXP_LOG_GET_SIZE_NACK: { CString textThereIsNoResult; textThereIsNoResult.LoadString( IDS_STRING1 ); MessageBox( 0, textThereIsNoResult, _T( "" ), MB_ICONERROR | MB_OK ); break; } case MP_RM_EXP_LOG_GET_ACK: { const MSG_RM_EXP_LOG* m = ( MSG_RM_EXP_LOG* )message; // 080401 LUJ, 이전 로그에 대한 인덱스 세트를 만들어 중복되지 않도록 체크한다 std::set< DWORD > indexSet; { for( int row = 0; row < listCtrl.GetItemCount(); ++row ) { indexSet.insert( _ttoi( listCtrl.GetItemText( row, 0 ) ) ); } } for( DWORD i = 0; i < m->mSize; ++i ) { const MSG_RM_EXP_LOG::Log& data = m->mLog[ i ]; const DWORD row = listCtrl.GetItemCount(); int step = 0; if( indexSet.end() != indexSet.find( data.mLogIndex ) ) { continue; } CString text; text.Format( _T( "%d" ), data.mLogIndex ); listCtrl.InsertItem( row, text, 0 ); listCtrl.SetItemText( row, ++step, CA2WEX< sizeof( data.mDate ) >( data.mDate ) ); // 080416 LUJ, 로그 종류를 문자로 표시하도록 함 listCtrl.SetItemText( row, ++step, mApplication.GetText( data.mType ) ); text.Format( _T( "%d" ), data.mGrade ); listCtrl.SetItemText( row, ++step, text ); text.Format( _T( "%d" ), data.mVariation ); listCtrl.SetItemText( row, ++step, text ); // 080716 LUJ, 킬러 종류를 번호로 표시한다 text.Format( _T( "%d" ), data.mKillerKind ); listCtrl.SetItemText( row, ++step, text ); listCtrl.SetItemText( row, ++step, mApplication.GetMonsterName( data.mKillerKind ) ); text.Format( _T( "%d" ), data.mKillerIndex ); listCtrl.SetItemText( row, ++step, text ); // 080716 LUJ, 경험치 형이 커져서 실수형으로 변경 text.Format( _T( "%0.0f" ), data.mExperience ); listCtrl.SetItemText( row, ++step, text ); // 080716 LUJ, 로그 상태에 따라 다른 형식으로 표시 switch( data.mType ) { case eExpLog_ProtectExp: { CString textProtect; textProtect.LoadString( IDS_STRING402 ); text.Format( _T( "%s: %d" ), textProtect, data.mCount ); listCtrl.SetItemText( row, ++step, text ); break; } } } { int minRange; int maxRange; progressCtrl.GetRange( minRange, maxRange ); progressCtrl.SetPos( progressCtrl.GetPos() + int( m->mSize ) ); CString text; text.Format( _T( "%d/%d" ), progressCtrl.GetPos(), maxRange ); resultStatic.SetWindowText( text ); // 080523 LUJ, 버튼 활성화 체크가 정상적으로 되도록 수정함 if( progressCtrl.GetPos() == maxRange ) { findButton.EnableWindow( TRUE ); stopButton.EnableWindow( FALSE ); } } break; } case MP_RM_EXP_LOG_GET_STOP_ACK: { findButton.EnableWindow( TRUE ); stopButton.EnableWindow( FALSE ); CString textSearchWasStopped; textSearchWasStopped.LoadString( IDS_STRING2 ); MessageBox( 0, textSearchWasStopped, _T( "" ), MB_ICONERROR | MB_OK ); break; } case MP_RM_EXP_LOG_GET_STOP_NACK: { ASSERT( 0 ); break; } default: { break; } } }
void CFarmLogCommand::Parse( const MSGROOT* message, CListCtrl& listCtrl, CProgressCtrl& progressCtrl, CStatic& resultStatic, CButton& findButton, CButton& stopButton ) const { switch( message->Protocol ) { case MP_RM_FARM_LOG_ACK: { // 080401 LUJ, 이전 로그에 대한 인덱스 세트를 만들어 중복되지 않도록 체크한다 std::set< DWORD > indexSet; { for( int row = 0; row < listCtrl.GetItemCount(); ++row ) { indexSet.insert( _ttoi( listCtrl.GetItemText( row, 0 ) ) ); } } const MSG_RM_FARM_LOG* m = ( MSG_RM_FARM_LOG* )message; if( m->mRequestTick != mTickCount ) { break; } for( DWORD i = 0; i < m->mSize; ++i ) { const MSG_RM_FARM_LOG::Log& data = m->mLog[ i ]; const DWORD row = listCtrl.GetItemCount(); int step = 0; if( indexSet.end() != indexSet.find( data.mIndex ) ) { continue; } CString text; text.Format( _T( "%d" ), data.mIndex ); listCtrl.InsertItem( row, text, 0 ); listCtrl.SetItemText( row, ++step, CA2WEX< sizeof( data.mDate ) >( data.mDate ) ); listCtrl.SetItemText( row, ++step, mApplication.GetText( FARM_LOG_KIND( data.mKind ) ) ); text.Format( _T( "%d" ), data.mFarmIndex ); listCtrl.SetItemText( row, ++step, text ); text.Format( _T( "%d" ), data.mZone ); listCtrl.SetItemText( row, ++step, text ); text.Format( _T( "%d" ), data.mPlayerIndex ); listCtrl.SetItemText( row, ++step, text ); // 080423 LUJ, 농장 개선 로그일 때는 값에 표시 // // 주의: 로그가 잘못 표시되고 있음. 소스를 고치면 기존 로그가 손상되므로, 복구툴에서 정정함 // 이에 따라 로그 타입과 실제 표시되는 텍스트가 다를 수 있음 // // 정원 -> 정원, 울타리 -> 축사, 집 -> 울타리, 창고 -> 집, 축사 -> 창고 if( FARM_LOG_KIND_UPGRADE == data.mKind ) { switch( data.mValue1 ) { case FARM_UPGRADE_LOG_KIND_GARDEN: { CString textGarden; textGarden.LoadString( IDS_STRING368 ); listCtrl.SetItemText( row, ++step, textGarden ); break; } case FARM_UPGRADE_LOG_KIND_FENCE: { CString textCage; textCage.LoadString( IDS_STRING367 ); listCtrl.SetItemText( row, ++step, textCage ); break; } case FARM_UPGRADE_LOG_KIND_HOUSE: { CString textFence; textFence.LoadString( IDS_STRING366 ); listCtrl.SetItemText( row, ++step, textFence ); break; } case FARM_UPGRADE_LOG_KIND_WAREHOUSE: { CString textHouse; textHouse.LoadString( IDS_STRING369 ); listCtrl.SetItemText( row, ++step, textHouse ); break; } case FARM_UPGRADE_LOG_KIND_ANIMALCAGE: { CString textWarehouse; textWarehouse.LoadString( IDS_STRING282 ); listCtrl.SetItemText( row, ++step, textWarehouse ); break; } default: { listCtrl.SetItemText( row, ++step, _T( "?" ) ); break; } } } else { text.Format( _T( "%d" ), data.mValue1 ); listCtrl.SetItemText( row, ++step, text ); } text.Format( _T( "%d" ), data.mValue2 ); listCtrl.SetItemText( row, ++step, text ); } { int minRange; int maxRange; progressCtrl.GetRange( minRange, maxRange ); progressCtrl.SetPos( progressCtrl.GetPos() + m->mSize ); CString text; text.Format( _T( "%d/%d" ), progressCtrl.GetPos(), maxRange ); resultStatic.SetWindowText( text ); // 080523 LUJ, 버튼 활성화 체크가 정상적으로 되도록 수정함 if( progressCtrl.GetPos() == maxRange ) { findButton.EnableWindow( TRUE ); stopButton.EnableWindow( FALSE ); } } break; } case MP_RM_FARM_LOG_SIZE_ACK: { const MSG_DWORD* m = ( MSG_DWORD* )message; const DWORD size = m->dwData; CString text; text.Format( _T( "0/%d" ), size ); resultStatic.SetWindowText( text ); progressCtrl.SetRange32( 0, size ); progressCtrl.SetPos( 0 ); findButton.EnableWindow( FALSE ); stopButton.EnableWindow( TRUE ); listCtrl.DeleteAllItems(); break; } case MP_RM_FARM_LOG_SIZE_NACK: { CString textThereIsNoResult; textThereIsNoResult.LoadString( IDS_STRING1 ); MessageBox( 0, textThereIsNoResult, _T( "" ), MB_ICONERROR | MB_OK ); break; } case MP_RM_FARM_LOG_STOP_ACK: { findButton.EnableWindow( TRUE ); stopButton.EnableWindow( FALSE ); CString textSearchWasStopped; textSearchWasStopped.LoadString( IDS_STRING2 ); MessageBox( 0, textSearchWasStopped, _T( "" ), MB_ICONERROR | MB_OK ); break; } case MP_RM_FARM_LOG_NACK_BY_AUTH: { CString textYouHaveNoAuthority; textYouHaveNoAuthority.LoadString( IDS_STRING18 ); MessageBox( 0, textYouHaveNoAuthority, _T( "" ), MB_OK | MB_ICONERROR ); break; } default: { ASSERT( 0 ); break; } } }
//查找线程处理函数 DWORD WINAPI CDlgFormulaFind::FindComp(LPVOID pParameter) { CDlgFormulaFind* pCompFind = (CDlgFormulaFind*)(pParameter); if( pCompFind == NULL) return 0; CWnd* pWnd = pCompFind->GetDlgItem(IDC_STARTBUTTON); if(pWnd != NULL) { pWnd->EnableWindow(false); } pWnd = pCompFind->GetDlgItem(IDC_STOPBUT); if(pWnd != NULL) { pWnd->EnableWindow(true); } pCompFind->m_wndAnimate.Play(0,-1,-1); CString strKey ; pCompFind->m_wndKeyCombo.GetWindowText(strKey); strKey.MakeUpper(); // DWORD dwFindMask = pCompFind->GetFindMask(); DWORD dwFindMask = pCompFind->m_nFindMask; if( dwFindMask == 0 ) return 0; CListCtrl* pListCtrl = &(pCompFind->m_wndResultList); if( pListCtrl == NULL) return 0; pListCtrl->DeleteAllItems(); CMapVariabile* pVarsMap = CDlgFormulaMan::m_pExternExpression; if(pVarsMap != NULL) { POSITION pos = pVarsMap->GetStartPosition(); pWnd = pCompFind->GetDlgItem(IDC_RESULTSTATIC); CString sName; CValue *pVal; while (pos != NULL && pCompFind->m_bThreadRun) { pVarsMap->GetNextAssoc (pos, sName, pVal); if(pVal != NULL) { if( pVal->IsStyle(HX_EXPRESSSENTENCE) ) { CString strFindText = _T("正在查找 --"); strFindText += ((CExpValue*)pVal)->GetWholeName(); pWnd->SetWindowText( strFindText); CString strRet; if( ((CExpValue*)pVal)->Find(strKey,strRet,dwFindMask) ) { int nCount = pListCtrl->GetItemCount(); CString strText; strText.Format(TEXT("%d"), nCount+1); // Insert the item, select every other item. CExpression* pExpression = ((CExpValue*)pVal)->GetExp(); if(pExpression ) { DWORD dwMask = (DWORD)pExpression->GetExpressType(); dwMask &= 0xf; if ((pCompFind->m_dwMask & dwMask) == 0) { continue; } pListCtrl->InsertItem( LVIF_TEXT|LVIF_STATE, nCount, strText, (nCount%2)==0 ? LVIS_SELECTED : 0, LVIS_SELECTED, 0, 0); pListCtrl->SetItemData(nCount,(DWORD)pExpression); int nNameIndex = strRet.Find(_T("公式全名")); int nDescrible = strRet.Find(_T("公式描述")); if( nDescrible - nNameIndex != 8) { CString strDescrible = strRet.Mid( nNameIndex+8,nDescrible-nNameIndex-8); pListCtrl->SetItemText(nCount, 2, strDescrible); } CString strWholeName = strRet.Left(nNameIndex); pListCtrl->SetItemText(nCount, 1, strWholeName.Mid(1,nNameIndex)); CString strGroup; switch( dwMask ) { case Tech : { strGroup = CTreeCtrlFormula::g_strTech; break; } case Exchange : { strGroup = CTreeCtrlFormula::g_strExchange; break; } case Condition : { strGroup = CTreeCtrlFormula::g_strCondition; break; } case MoreKLine : { strGroup = CTreeCtrlFormula::g_strColorKLine; break; } case Strategy : //20090302 YJT 增加 Strategy { strGroup = CTreeCtrlFormula::g_strStrategy; break; } default : { return 0; } } pListCtrl->SetItemText(nCount, 3, strGroup); } } } } } CString strFindText ; strFindText.Format(_T("找到 %d 个对象"),pListCtrl->GetItemCount()); pWnd->SetWindowText( strFindText); pWnd = pCompFind->GetDlgItem(IDC_STARTBUTTON); if(pWnd != NULL) { pWnd->EnableWindow(true); } pWnd = pCompFind->GetDlgItem(IDC_STOPBUT); if(pWnd != NULL) { pWnd->EnableWindow(false); } pCompFind->m_wndAnimate.Stop(); } return 0; }
void COpenExcelDlg::Lin_InportExcelToList(CString m_FilePath,CListCtrl &m_List) { //先删除列表内容// m_List.DeleteAllItems(); while(m_List.GetHeaderCtrl()->GetItemCount()>0) { m_List.DeleteColumn(0); } //导入 CApplication app; CWorkbook book; CWorkbooks books; CWorksheet sheet; CWorksheets sheets; CRange range; LPDISPATCH lpDisp; //定义变量// COleVariant covOptional((long) DISP_E_PARAMNOTFOUND,VT_ERROR); if (!app.CreateDispatch(_T("Excel.Application"))) { this->MessageBox(_T("无法创建Excel应用")); return; } books = app.get_Workbooks(); //打开Excel,其中m_FilePath为Excel表的路径名// lpDisp = books.Open(m_FilePath,covOptional ,covOptional,covOptional,covOptional ,covOptional,covOptional,covOptional ,covOptional,covOptional,covOptional ,covOptional,covOptional,covOptional ,covOptional); book.AttachDispatch(lpDisp); sheets = book.get_Worksheets(); sheet = sheets.get_Item(COleVariant((short)1)); CStringArray m_HeadName; for (int i=1;i<26;i++) { CString m_pos = Lin_GetEnglishCharacter(i); m_pos = m_pos + _T("1"); range = sheet.get_Range(COleVariant(m_pos),COleVariant(m_pos)); //获得单元格的内容 COleVariant rValue; rValue = COleVariant(range.get_Value2()); //转换成宽字符// rValue.ChangeType(VT_BSTR); //转换格式,并输出// CString m_content = CString(rValue.bstrVal); if (m_content!=_T("")) { m_HeadName.Add(m_content); } } Lin_InitList(m_List,m_HeadName); CStringArray m_ContentArr; for (int ItemNum = 0;ItemNum<10000;ItemNum++) { for (int j=1;j<m_List.GetHeaderCtrl()->GetItemCount();j++) { CString m_pos = Lin_GetEnglishCharacter(j); CString m_Itempos; m_Itempos.Format(_T("%d"),ItemNum+2); CString m_str = m_pos+m_Itempos; range = sheet.get_Range(COleVariant(m_str),COleVariant(m_str)); //获得单元格的内容 COleVariant rValue; rValue = COleVariant(range.get_Value2()); //转换成宽字符// rValue.ChangeType(VT_BSTR); //转换格式,并输出// CString m_content = CString(rValue.bstrVal); m_ContentArr.Add(m_content); } if (m_ContentArr.GetAt(0)!=_T("")) { Lin_InsertList(m_List,m_ContentArr); m_ContentArr.RemoveAll(); } else{ break; } } book.put_Saved(TRUE); app.Quit(); }
void CUpdateDataThread::Task() { CListCtrl *pList = &(pParent->pCamListDlg->m_CamList); pList->DeleteAllItems(); vector<CameraObject*>::iterator it; int mindex = 0; Tmtv_CameraInfo mCamInfo; wchar_t wstr[512]; for (it = pCamManager->m_CameraObjectVector.begin(); it != pCamManager->m_CameraObjectVector.end(); it++) { (*it)->GetCamInfo(&mCamInfo); wsprintf(wstr, L"%d", mCamInfo.Indexnum); int nRow = pList->InsertItem(mindex, wstr); switch (mCamInfo.Status) { case Tmtv_CameraInfo::TMTV_RUNNINGCAM: wsprintf(wstr, L"运行"); break; case Tmtv_CameraInfo::TMTV_STOPEDCAM: wsprintf(wstr, L"停止"); break; default: wsprintf(wstr, L"未知"); break; } pList->SetItemText(nRow, 1, wstr); switch (mCamInfo.AlgorithmInfo.WarnningLevel) { case Tmtv_AlgorithmInfo::TMTV_NOWARN : wsprintf(wstr, L"停止"); break; case Tmtv_AlgorithmInfo::TMTV_PREWARN: wsprintf(wstr, L"运行"); break; case Tmtv_AlgorithmInfo::TMTV_STARTWARN: wsprintf(wstr, L"运行"); break; default: wsprintf(wstr, L"未知"); break; } pList->SetItemText(nRow, 2, wstr); wsprintf(wstr, L"%d", mCamInfo.AlgorithmInfo.WarnningLevel); pList->SetItemText(nRow, 3, wstr); CCommonFunc::AnsiToUnicode(mCamInfo.CameraName, wstr, sizeof(wstr)); pList->SetItemText(nRow, 4, wstr); CCommonFunc::AnsiToUnicode(mCamInfo.CameraPath, wstr, sizeof(wstr)); pList->SetItemText(nRow, 5, wstr); mindex++; } ////////////////////////////////////////////////////////////////////////// //网络状态 CListBox* pListBox = &(pParent->pNetWorkDlg->mNetStatusList); ReceiveServerSetting mRecvSetting; SendServerSetting mSendSetting; pCamManager->m_SendServer.GetSetting(mSendSetting); pCamManager->m_ReceiveServer.GetSetting(mRecvSetting); pListBox->ResetContent(); pListBox->AddString(L"发送状态: "); DWORD mstatus; mstatus = pCamManager->m_SendServer.GetSendServerStatus(); if ((mstatus&TmtSocket::enSendOK) == TmtSocket::enSendOK) { wsprintf(wstr, L" 运行状态: 正常"); } else { wsprintf(wstr, L" 运行状态: 异常"); } pListBox->AddString(wstr); wsprintf(wstr, L" 本地端口号: %d", mSendSetting.m_LocalSendPort); pListBox->AddString(wstr); NetIPW mWip; CCommonFunc::AnsiToUnicode(mSendSetting.m_LocalSendIP, mWip, TMTV_IPSTRLEN); wsprintf(wstr, L" 本地IP: %s", mWip); pListBox->AddString(wstr); wsprintf(wstr, L" 远端端口号: %d", mSendSetting.m_RemoteRecvPort); pListBox->AddString(wstr); CCommonFunc::AnsiToUnicode(mSendSetting.m_RemoteRecvIp, mWip, TMTV_IPSTRLEN); wsprintf(wstr, L" 远端IP: %s", mWip); pListBox->AddString(wstr); //////////////////////////////////////////////////////////////// pListBox->AddString(L"接收状态:"); mstatus = pCamManager->m_ReceiveServer.GetReceiveStatus(); if ((mstatus&TmtSocket::enRecvOK) == TmtSocket::enRecvOK) { wsprintf(wstr, L" 运行状态: 正常"); } else { wsprintf(wstr, L" 运行状态: 异常"); } pListBox->AddString(wstr); wsprintf(wstr, L" 本地端口号: %d", mRecvSetting.m_LocalRecvPort); pListBox->AddString(wstr); CCommonFunc::AnsiToUnicode(mRecvSetting.m_LocalRecvIP, mWip, TMTV_IPSTRLEN); wsprintf(wstr, L" 本地IP: %s", mWip); pListBox->AddString(wstr); m_NetCount++; if (m_NetCount>=6) { if ((pCamManager->m_SendServer.GetSendServerStatus() & SendServer::enSendOK) != SendServer::enSendOK) { pCamManager->m_SendServer.ResetSocket(); } if ((pCamManager->m_ReceiveServer.GetReceiveStatus() & SendServer::enRecvOK) != SendServer::enRecvOK) { pCamManager->m_ReceiveServer.ResetSocket(); } m_NetCount = 0; } }
void CfoodTrackView::OnViewRefresh() { // TODO: Add your command handler code here CListCtrl *pListCtrl; pListCtrl = &this->GetListCtrl(); pListCtrl->DeleteAllItems(); while(pListCtrl->DeleteColumn(0)){} //LV_ITEM lvitem; CStudent *pStu; CItem *pItem; CString sTmp; CClass *pClass; int i=0,iPos=0,j=0; CfoodTrackDoc *pDoc=this->GetDocument(); switch(m_nDataType) { case dtStudent: pDoc->FillStudentsToListctrl(pListCtrl,_T(""),_T("")); break; case dtClass: pListCtrl->InsertColumn(0,"*",LVCFMT_LEFT,30,-1); pListCtrl->InsertColumn(1,"日期",LVCFMT_LEFT,80,-1); pListCtrl->InsertColumn(2,"时间",LVCFMT_LEFT,40,-1); pListCtrl->InsertColumn(3,"车号",LVCFMT_LEFT,80,-1); pListCtrl->InsertColumn(4,"教练",LVCFMT_LEFT,50,-1); pListCtrl->InsertColumn(5,"姓名",LVCFMT_LEFT,50,-1); pListCtrl->InsertColumn(6,"性别",LVCFMT_LEFT,40,-1); pListCtrl->InsertColumn(7,"身份证",LVCFMT_LEFT,100,-1); pListCtrl->InsertColumn(8,"联系地址",LVCFMT_LEFT,110,-1); pListCtrl->InsertColumn(9,"电话",LVCFMT_LEFT,80,-1); pListCtrl->InsertColumn(10,"上车时间",LVCFMT_LEFT,70,-1); pListCtrl->InsertColumn(11,"场考时间",LVCFMT_LEFT,70,-1); pListCtrl->InsertColumn(12,"路考时间",LVCFMT_LEFT,70,-1); pListCtrl->InsertColumn(13,"考试类型",LVCFMT_LEFT,70,-1); pListCtrl->InsertColumn(14,"发证日期",LVCFMT_LEFT,70,-1); if(pDoc->ReadClasss(0,0,_T(""),_T(""))<=0) return; for(i=0;i<pDoc->m_arrClass.GetSize();i++) { pClass = pDoc->m_arrClass[i]; for(j=0;j<pClass->m_arrStudent.GetSize();j++) { pStu = pClass->m_arrStudent[j]; sTmp.Format("%d",pListCtrl->GetItemCount()+1); iPos = pListCtrl->InsertItem(pListCtrl->GetItemCount(),sTmp,0); sTmp.Format("%d-%d-%d",pClass->m_F_Date.GetYear(),pClass->m_F_Date.GetMonth(),pClass->m_F_Date.GetDay()); pListCtrl->SetItemText(iPos,1,sTmp); if(pClass->m_F_NoonID==0) sTmp = "上午"; else sTmp = "下午"; pListCtrl->SetItemText(iPos,2,sTmp); pListCtrl->SetItemText(iPos,3,pClass->m_F_AutoNo); pListCtrl->SetItemText(iPos,4,pClass->m_F_Teacher); pListCtrl->SetItemText(iPos,5,pStu->m_F_ItemName); pListCtrl->SetItemText(iPos,6,pStu->m_F_Sex); pListCtrl->SetItemText(iPos,7,pStu->m_F_SN); pListCtrl->SetItemText(iPos,8,pStu->m_F_Address); pListCtrl->SetItemText(iPos,9,pStu->m_F_Tel); //*/日期/时间/车号/教练/姓名/性别/身份证/联系地址/电话/上车时间 //场考时间/路考时间/考试类型/发证日期 if(pStu->m_tmUpAuto>0) { sTmp.Format("%d-%d-%d",pStu->m_tmUpAuto.GetYear(),pStu->m_tmUpAuto.GetMonth(),pStu->m_tmUpAuto.GetDay()); pListCtrl->SetItemText(iPos,10,sTmp); } if(pStu->m_tmExamField>0) { sTmp.Format("%d-%d-%d",pStu->m_tmExamField.GetYear(),pStu->m_tmExamField.GetMonth(),pStu->m_tmExamField.GetDay()); pListCtrl->SetItemText(iPos,11,sTmp); } if(pStu->m_tmExamRoad>0) { sTmp.Format("%d-%d-%d",pStu->m_tmExamRoad.GetYear(),pStu->m_tmExamRoad.GetMonth(),pStu->m_tmExamRoad.GetDay()); pListCtrl->SetItemText(iPos,12,sTmp); } pItem = pDoc->GetItemByID(&pDoc->m_arrExamType,pStu->m_nExamTypeID); if(pItem) pListCtrl->SetItemText(iPos,13,pItem->m_F_ItemName); if(pStu->m_tmEnd>0) { sTmp.Format("%d-%d-%d",pStu->m_tmEnd.GetYear(),pStu->m_tmEnd.GetMonth(),pStu->m_tmEnd.GetDay()); pListCtrl->SetItemText(iPos,14,sTmp); } pListCtrl->SetItemData(iPos,pClass->m_F_ID); } } break; default: break; } }
void CItemOptionLogCommand::Parse( const MSGROOT* message, CListCtrl& listCtrl, CProgressCtrl& progressCtrl, CStatic& resultStatic, CButton& findButton, CButton& stopButton ) const { switch( message->Protocol ) { case MP_RM_ITEM_OPTION_LOG_GET_ACK: { // 080401 LUJ, 이전 로그에 대한 인덱스 세트를 만들어 중복되지 않도록 체크한다 std::set< DWORD > indexSet; { for( int row = 0; row < listCtrl.GetItemCount(); ++row ) { indexSet.insert( _ttoi( listCtrl.GetItemText( row, 0 ) ) ); } } const MSG_RM_ITEM_OPTION_LOG* m = ( MSG_RM_ITEM_OPTION_LOG* )message; for( DWORD i = 0; i < m->mSize; ++i ) { const MSG_RM_ITEM_OPTION_LOG::Log& data = m->mLog[ i ]; const DWORD row = listCtrl.GetItemCount(); int step = -1; if( indexSet.end() != indexSet.find( data.mLogIndex ) ) { continue; } CString text; text.Format( _T( "%d" ), data.mLogIndex ); listCtrl.InsertItem( row, text, ++step ); listCtrl.SetItemText( row, ++step, CA2WEX< sizeof( data.mDate ) >( data.mDate ) ); listCtrl.SetItemText( row, ++step, mApplication.GetText( data.mType ) ); text.Format( _T( "%d" ), data.mItemDbIndex ); listCtrl.SetItemText( row, ++step, text ); { const ITEM_OPTION::Reinforce& reinforce = data.mOption.mReinforce; text.Format( _T( "%d" ), reinforce.mStrength ); listCtrl.SetItemText( row, ++step, text ); text.Format( _T( "%d" ), reinforce.mDexterity ); listCtrl.SetItemText( row, ++step, text ); text.Format( _T( "%d" ), reinforce.mVitality ); listCtrl.SetItemText( row, ++step, text ); text.Format( _T( "%d" ), reinforce.mIntelligence ); listCtrl.SetItemText( row, ++step, text ); text.Format( _T( "%d" ), reinforce.mWisdom ); listCtrl.SetItemText( row, ++step, text ); text.Format( _T( "%d" ), reinforce.mLife ); listCtrl.SetItemText( row, ++step, text ); text.Format( _T( "%d" ), reinforce.mMana ); listCtrl.SetItemText( row, ++step, text ); text.Format( _T( "%d" ), reinforce.mLifeRecovery ); listCtrl.SetItemText( row, ++step, text ); text.Format( _T( "%d" ), reinforce.mManaRecovery ); listCtrl.SetItemText( row, ++step, text ); text.Format( _T( "%d" ), reinforce.mPhysicAttack ); listCtrl.SetItemText( row, ++step, text ); text.Format( _T( "%d" ), reinforce.mPhysicDefence ); listCtrl.SetItemText( row, ++step, text ); text.Format( _T( "%d" ), reinforce.mMagicAttack ); listCtrl.SetItemText( row, ++step, text ); text.Format( _T( "%d" ), reinforce.mMagicDefence ); listCtrl.SetItemText( row, ++step, text ); // 080428 LUJ, 크리티컬 레이트가 이동 속도로 잘못 저장되고 있음 text.Format( _T( "%d" ), reinforce.mMoveSpeed ); listCtrl.SetItemText( row, ++step, text ); // 080428 LUJ, 크리티컬 데미지가 회피로 잘못 저장되고 있음 text.Format( _T( "%d" ), reinforce.mEvade ); listCtrl.SetItemText( row, ++step, text ); // 080428 LUJ, 이동 속도가 명중으로 잘못 저장되고 있음. text.Format( _T( "%d" ), reinforce.mAccuracy ); listCtrl.SetItemText( row, ++step, text ); // 080428 LUJ, 회피가 크리티컬 레이트로 잘못 저장되고 있음 text.Format( _T( "%d" ), reinforce.mCriticalRate ); listCtrl.SetItemText( row, ++step, text ); // 080428 LUJ, 명중이 크리티컬 데미지로 잘못 저장되고 있음 text.Format( _T( "%d" ), reinforce.mCriticalDamage ); listCtrl.SetItemText( row, ++step, text ); } { const ITEM_OPTION::Mix& mix = data.mOption.mMix; text.Format( _T( "%d" ), mix.mStrength ); listCtrl.SetItemText( row, ++step, text ); text.Format( _T( "%d" ), mix.mIntelligence ); listCtrl.SetItemText( row, ++step, text ); text.Format( _T( "%d" ), mix.mDexterity ); listCtrl.SetItemText( row, ++step, text ); text.Format( _T( "%d" ), mix.mWisdom ); listCtrl.SetItemText( row, ++step, text ); text.Format( _T( "%d" ), mix.mVitality ); listCtrl.SetItemText( row, ++step, text ); } { const ITEM_OPTION::Enchant& enchant = data.mOption.mEnchant; text.Format( _T( "%d" ), enchant.mIndex ); listCtrl.SetItemText( row, ++step, text ); text.Format( _T( "%d" ), enchant.mLevel ); listCtrl.SetItemText( row, ++step, text ); } listCtrl.SetItemText( row, ++step, CA2WEX< sizeof( data.mMemo ) >( data.mMemo ) ); } { int minRange; int maxRange; progressCtrl.GetRange( minRange, maxRange ); progressCtrl.SetPos( progressCtrl.GetPos() + int( m->mSize ) ); CString text; text.Format( _T( "%d/%d" ), progressCtrl.GetPos(), maxRange ); resultStatic.SetWindowText( text ); // 080523 LUJ, 버튼 활성화 체크가 정상적으로 되도록 수정함 if( progressCtrl.GetPos() == maxRange ) { findButton.EnableWindow( TRUE ); stopButton.EnableWindow( FALSE ); } } break; } case MP_RM_ITEM_OPTION_LOG_SIZE_ACK: { const MSG_DWORD* m = ( MSG_DWORD* )message; const DWORD size = m->dwData; CString text; text.Format( _T( "0/%d" ), size ); resultStatic.SetWindowText( text ); progressCtrl.SetRange32( 0, size ); progressCtrl.SetPos( 0 ); findButton.EnableWindow( FALSE ); stopButton.EnableWindow( TRUE ); listCtrl.DeleteAllItems(); break; } case MP_RM_ITEM_OPTION_LOG_SIZE_NACK: { CString textThereIsNoResult; textThereIsNoResult.LoadString( IDS_STRING1 ); MessageBox( 0, textThereIsNoResult, _T( "" ), MB_ICONERROR | MB_OK ); break; } case MP_RM_ITEM_OPTION_LOG_STOP_ACK: { findButton.EnableWindow( TRUE ); stopButton.EnableWindow( FALSE ); CString textSearchWasStopped; textSearchWasStopped.LoadString( IDS_STRING2 ); MessageBox( 0, textSearchWasStopped, _T( "" ), MB_ICONERROR | MB_OK ); break; } case MP_RM_ITEM_OPTION_LOG_NACK_BY_AUTH: { CString textYouHaveNoAuthority; textYouHaveNoAuthority.LoadString( IDS_STRING18 ); MessageBox( 0, textYouHaveNoAuthority, _T( "" ), MB_OK | MB_ICONERROR ); break; } default: { ASSERT( 0 ); break; } } }