void CDlgFreeTrainList::UpdateList() { for(int no=0;no<m_ctlList.GetItemCount();no++) g_SetCheck[no] = m_ctlList.GetCheck(no); while(m_ctlList.GetItemCount()<g_FreeTrainManageList.GetCount()) { ::AddListItem(m_ctlList,0,0,""); } while(m_ctlList.GetItemCount()>g_FreeTrainManageList.GetCount()) { m_ctlList.DeleteItem(0); } for(int item=0;item<g_FreeTrainManageList.GetCount();item++) { POSITION pos = g_FreeTrainManageList.FindIndex(item); struct TagFreeTrainStruct *pFreeTrain = (TagFreeTrainStruct *)g_FreeTrainManageList.GetAt(pos); ::SetItemText(m_ctlList,item,0,::GetFormatText("%d",item+1)); ::SetItemText(m_ctlList,item,1,g_Unit[pFreeTrain->InFeederUnitID].UnitName); ::SetItemText(m_ctlList,item,2,g_Unit[pFreeTrain->OutFeederUnitID].UnitName); ::SetItemText(m_ctlList,item,3,::GetFormatText("%0.0f",pFreeTrain->AverCurrent)); ::SetItemText(m_ctlList,item,4,::GetFormatText("%0.0f",pFreeTrain->AverAngle)); ::SetItemText(m_ctlList,item,5,::GetFormatText("%d",pFreeTrain->InContinuedSeconds)); ::SetItemText(m_ctlList,item,6,::GetFormatText("%d",pFreeTrain->ChangeContinuedSeconds)); ::SetItemText(m_ctlList,item,7,::GetFormatText("%d",pFreeTrain->OutContinuedSeconds)); ::SetItemText(m_ctlList,item,8,::GetFormatText("%0.1f",pFreeTrain->CurrentChangeRate*100)); ::SetItemText(m_ctlList,item,9,::GetFormatText("%d",pFreeTrain->StartupDelaySecond)); ::SetItemImage(m_ctlList,item,0); m_ctlList.SetCheck(item,g_SetCheck[item]); } }
BOOL CPicTransparentDlg::OnInitDialog() { CDialog::OnInitDialog(); CString strColorHex; CPtrList SelItems; m_pVecTstView->GetSelectedItems(SelItems); POSITION pos = SelItems.GetHeadPosition(); while(pos!=NULL) { CVecBase* pVec = (CVecBase*)SelItems.GetNext(pos); CVecBitmapBase* pBitmapBase = dynamic_cast<CVecBitmapBase*>(pVec); if(pBitmapBase!=NULL) { m_bIsTransparent = pBitmapBase->IsTransparent(); m_clrTransparent = pVec->GetShadowColor(); strColorHex.Format("Color: #%06X",m_clrTransparent); m_ColorPickerButton.SetWindowText(strColorHex); break; } } UpdateData(FALSE); OnIsTransparent(); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
void CDlgFreeTrainList::OnStartup() { if(::CheckOperateCondition()==FALSE) return; if(::AfxMessageBox("是否启动除自由行车?",MB_YESNO)==IDNO) return; for(int item=0;item<m_ctlList.GetItemCount();item++) { if(m_ctlList.GetCheck(item)) { POSITION pos = g_FreeTrainManageList.FindIndex(item); struct TagFreeTrainStruct *pFreeTrain = (TagFreeTrainStruct *)g_FreeTrainManageList.GetAt(pos); pFreeTrain->InBeginTime = CTime::GetCurrentTime() + CTimeSpan(0,0,0,pFreeTrain->StartupDelaySecond);; pFreeTrain->InFinishTime = pFreeTrain->InBeginTime+CTimeSpan(0,0,0,pFreeTrain->InContinuedSeconds); pFreeTrain->ChangeBeginTime = pFreeTrain->InFinishTime; pFreeTrain->ChangeFinishTime = pFreeTrain->ChangeBeginTime+CTimeSpan(0,0,0,pFreeTrain->ChangeContinuedSeconds); pFreeTrain->OutBeginTime = pFreeTrain->ChangeFinishTime; pFreeTrain->OutFinishTime = pFreeTrain->OutBeginTime+CTimeSpan(0,0,0,pFreeTrain->OutContinuedSeconds); struct TagFreeTrainStruct *pNewFreeTrain = new TagFreeTrainStruct; memcpy(pNewFreeTrain,pFreeTrain,sizeof(TagFreeTrainStruct)); ::AddFreeTrain(pNewFreeTrain); g_pDlgMessageBox->DoShow("准备启动自由行车",3); } } OnCancel(); }
BOOL CPictureSizeDlg::OnInitDialog() { CDialog::OnInitDialog(); for(int i = 0; i<NUM_OF_UNITS; i++) { m_cbWidthUnits.AddString(aUnitsStrings[i]); m_cbHeightUnits.AddString(aUnitsStrings[i]); } CPtrList SelItems; m_pVecTstView->GetSelectedItems(SelItems, TRUE); CVecContainer::ArrangeItemsForTrack(SelItems); POSITION pos = SelItems.GetHeadPosition(); while(pos!=NULL) { CVecBase* pVec = (CVecBase*)SelItems.GetNext(pos);; CDRect rect; rect = pVec->GetRect(); m_dPicVecWidth = m_dOriginalPicVecWidth = rect.right - rect.left; m_dPicVecHeight = m_dOriginalPicVecHeight = rect.bottom - rect.top; UpdateData(FALSE); break;//initiate the dialog with the data of the first text item } FillWidthAndHeight(); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
void CLibraryFolderCtrl::Update(DWORD nUpdateCookie) { CPtrList pAlready; for ( HTREEITEM hItem = GetChildItem( m_hRoot ) ; hItem ; ) { HTREEITEM hNext = GetNextSiblingItem( hItem ); CLibraryFolder* pFolder = (CLibraryFolder*)GetItemData( hItem ); if ( LibraryFolders.CheckFolder( pFolder ) ) { Update( pFolder, hItem, NULL, nUpdateCookie, FALSE ); pAlready.AddTail( pFolder ); } else { DeleteItem( hItem ); } hItem = hNext; } for ( POSITION pos = LibraryFolders.GetFolderIterator() ; pos ; ) { CLibraryFolder* pFolder = LibraryFolders.GetNextFolder( pos ); if ( pAlready.Find( pFolder ) == NULL ) { Update( pFolder, NULL, m_hRoot, nUpdateCookie, FALSE ); } } }
BOOL CInfCreature::GetAffects(CPtrList &list) { if (m_plAffects.GetCount() < 1) return(TRUE); INF_AFF *pAff, *pNew; POSITION pos = m_plAffects.GetHeadPosition(); while(pos) { pAff = (INF_AFF*)m_plAffects.GetNext(pos); // Don't return the affects that are already handled in special cases. if (pAff->dwAffectType == AFF_TYPE_PROF || (pAff->dwAffectType == AFF_TYPE_SPELL && !strnicmp(pAff->chResRef3,"SPCL812",7)) ) continue; pNew = new INF_AFF; if (!pNew) return(FALSE); memcpy(pNew,pAff,sizeof(INF_AFF)); list.AddTail(pNew); } TRACE("CInfCreautre::GetAffects() - %d affects found.\n",list.GetCount()); return(TRUE); }
void COwnedLostItem::SetHandledViaNetscape() { m_nHandleMethod = OL_OTHER_APP; // Get the app's name. CString netscapeName; char buffer[_MAX_PATH+1]; ::GetModuleFileName(theApp.m_hInstance, buffer, _MAX_PATH); char *pSlash = ::strrchr(buffer, '\\'); netscapeName = (char*)(pSlash+1); netscapeName.MakeUpper(); // Get the app's directory. Adequate heuristic for version-checking Netscape CString directoryName(buffer); directoryName.MakeUpper(); // Special Internet Shortcut check if (IsInternetShortcut()) { CInternetShortcut internetShortcut; if (!internetShortcut.ShellSupport()) { m_nHandleMethod = OL_CURRENT_NETSCAPE; return; } CString fileClass = GetInternetShortcutFileClass(); SetHandleMethodViaFileClass(fileClass, netscapeName, directoryName); return; } CPtrList* allHelpers = &(CHelperApp::m_cplHelpers); for (POSITION pos = allHelpers->GetHeadPosition(); pos != NULL;) { CHelperApp* app = (CHelperApp*)allHelpers->GetNext(pos); CString helperMime(app->cd_item->ci.type); if (helperMime == m_csMimeType) { // Found the helper app. See if Netscape is truly handling this mime type. CString fileClass(app->strFileClass); if (fileClass != "") { SetHandleMethodViaFileClass(fileClass, netscapeName, directoryName); return; } else m_bBroken = TRUE; // Treat as if ignored. Don't want to pop up a dialog over this. if (app->how_handle == HANDLE_VIA_NETSCAPE) m_nHandleMethod = OL_CURRENT_NETSCAPE; else m_nHandleMethod = OL_OTHER_APP; return; } } m_bBroken = TRUE; // Didn't even find this mime type. Don't want to fool with it. }
int CLocalSearch::ExecuteSharedFiles(int nMaximum) { CQuickLock oLock( Library.m_pSection ); CPtrList* pFiles = Library.Search( m_pSearch, nMaximum ); if ( pFiles == NULL ) return 0; int nHits = pFiles->GetCount(); while ( pFiles->GetCount() ) { int nInThisPacket = min( pFiles->GetCount(), (int)Settings.Gnutella.HitsPerPacket ); CreatePacket( nInThisPacket ); int nHitB = 0; for ( int nHitA = 0 ; nHitA < nInThisPacket ; nHitA++ ) { CLibraryFile* pFile = (CLibraryFile*)pFiles->RemoveHead(); if ( AddHit( pFile, nHitB ) ) nHitB ++; } WriteTrailer(); if ( nHitB > 0 ) DispatchPacket(); else DestroyPacket(); } delete pFiles; return nHits; }
int CGenethonDoc::AppendDataRows(CPtrList& SequenceList, int Append ) { int SkippedName = 0; POSITION tPos = SequenceList.GetHeadPosition(); while ( tPos != NULL ) { SeqNameStruct *tSNS = (SeqNameStruct *)SequenceList.GetNext(tPos); int DupName = 0; POSITION testPos = pGSFiller->SegDataList.GetHeadPosition(); while (testPos != NULL ) { CGeneSegment *tCGSeg = (CGeneSegment *)pGSFiller->SegDataList.GetNext(testPos); if ( tCGSeg->GetTitle() == tSNS->Name ) { DupName = 1; break; } } if ( DupName ) { SkippedName = 1; delete tSNS; continue; } CGeneSegment *tCGSeg = new CGeneSegment(); if ( tCGSeg == 0 ) { AfxMessageBox("GetMSFFile:new Fail 4" ); delete pGSFiller; pGSFiller = NULL; return 0; } if ( !tCGSeg->Create( LINESEQUENCE, tSNS->Name, tSNS->Descr, tSNS->Weight, tSNS->hText, tSNS->Len, tSNS->Start, &m_UserVars.m_ForeColor, &m_UserVars.m_BackColor ) ) { AfxMessageBox("GetMSFFile:Create Fail 2" ); delete pGSFiller; pGSFiller = NULL; return 0; } // Cleanup delete tSNS; // put it on the list pGSFiller->AddData( tCGSeg ); } if ( SkippedName ) { AfxMessageBox( "Duplicate Sequences (Names) have been discarded!" ); } return 1; }
BOOL CUpdateUtil::CompareFileVersion(CItemList* pItemListSourceCmp, CItemList* pItemListDestCmp) { // UPDATE_DATA* tmpClientSection = NULL; // UPDATE_DATA* tmpServerSection = NULL; // memset(tmpClientSection, 0, sizeof(UPDATE_DATA)); // memset(tmpServerSection, 0, sizeof(UPDATE_DATA)); CPtrList* pPLClient = pItemListDestCmp->GetPtrList(); CPtrList* pPLServer = pItemListSourceCmp->GetPtrList(); BOOL bExist = FALSE; UPDATE_DATA *psiServer = NULL; UPDATE_DATA *psiClient = NULL; CString strFilePath = ""; UTIL_CANCEL(); if(pPLClient->GetCount() == 0) { // Server xml File check POSITION posServer= pPLServer->GetHeadPosition(); psiServer = NULL; strFilePath = ""; while(posServer) { bExist = FALSE; psiServer = (UPDATE_DATA *)pPLServer->GetNext(posServer); strFilePath.Format("%s\\%s", psiServer->DownPath, psiServer->Name); switch (VersionCheck(strFilePath, "0", psiServer->Version, psiServer->DownURL, psiServer->CheckSum, psiServer->Size)) { case UPDATE_FLAG_NORMAL: TRACE("%s File : Do not anything because %s == %s\n", strFilePath, psiServer->Version, psiServer->Version); psiServer->UpdateFlag = UPDATE_FLAG_NORMAL; break; case UPDATE_FLAG_NEW: TRACE("%s File : New because not exsist\n", strFilePath); psiServer->UpdateFlag = UPDATE_FLAG_NEW; break; case UPDATE_FLAG_UPDATE: TRACE("%s File : Update because %s < %s\n", strFilePath, psiServer->Version, psiServer->Version); psiServer->UpdateFlag = UPDATE_FLAG_UPDATE; break; case UPDATE_FLAG_DIFFERENT: TRACE("%s File : Update because different between xml version file and exist file\n", strFilePath); psiServer->UpdateFlag = UPDATE_FLAG_UPDATE; break; } } } else { return CompareFileVersion2(pItemListSourceCmp, pItemListDestCmp); } return TRUE; }
LONG CuDlgIpmPageProcesses::OnUpdateData (WPARAM wParam, LPARAM lParam) { BOOL bOK = FALSE; CPtrList listInfoStruct; LOGPROCESSDATAMIN* pData; LPIPMUPDATEPARAMS pUps = (LPIPMUPDATEPARAMS)lParam; CString strID; CString strPID; CString strType; CString strOpenDB; CString strWrite; CString strForce; CString strWait; CString strBegin; CString strEnd; ASSERT (pUps); switch (pUps->nIpmHint) { case 0: break; default: return 0L; } try { LOGPROCESSDATAMIN structData; CdIpmDoc* pDoc = (CdIpmDoc*)wParam; ResetDisplay(); CaIpmQueryInfo queryInfo(pDoc, OT_MON_LOGPROCESS, pUps, (LPVOID)&structData, sizeof(structData)); bOK = IPM_QueryInfo (&queryInfo, listInfoStruct); if (bOK) { while (!listInfoStruct.IsEmpty()) { pData = (LOGPROCESSDATAMIN*)listInfoStruct.RemoveHead(); GetDisplayInfo (pData, strID, strPID, strType, strOpenDB, strWrite, strForce, strWait, strBegin, strEnd); AddProcess (strID, strPID, strType, strOpenDB, strWrite, strForce, strWait, strBegin, strEnd, pData); } } return 0L; } catch (CMemoryException* e) { theApp.OutOfMemoryMessage(); e->Delete(); } catch (CeIpmException e) { AfxMessageBox (e.GetReason(), MB_ICONEXCLAMATION|MB_OK); } while (!listInfoStruct.IsEmpty()) delete (LOGPROCESSDATAMIN*)listInfoStruct.RemoveHead(); return 0L; }
void* CZipArchive::myalloc(void* opaque, UINT items, UINT size) { void* p = new char[size * items]; if (opaque) { CPtrList* list = (CPtrList*) opaque; list->AddTail(p); } return p; }
LONG CuDlgIpmPageLockLists::OnUpdateData (WPARAM wParam, LPARAM lParam) { BOOL bOK = FALSE; CPtrList listInfoStruct; LOCKLISTDATAMIN* pData; LPIPMUPDATEPARAMS pUps = (LPIPMUPDATEPARAMS)lParam; CString strID; CString strSession; CString strCount; CString strLogical; CString strMaxL; CString strStatus; ASSERT (pUps); switch (pUps->nIpmHint) { case 0: case FILTER_SYSTEM_LOCK_LISTS: break; default: return 0L; } try { LOCKLISTDATAMIN structData; CdIpmDoc* pDoc = (CdIpmDoc*)wParam; ResetDisplay(); CaIpmQueryInfo queryInfo(pDoc, OT_MON_LOCKLIST, pUps, (LPVOID)&structData, sizeof(structData)); bOK = IPM_QueryInfo (&queryInfo, listInfoStruct); if (bOK) { while (!listInfoStruct.IsEmpty()) { pData = (LOCKLISTDATAMIN*)listInfoStruct.RemoveHead(); GetDisplayInfo (pData, strID, strSession, strCount, strLogical, strMaxL, strStatus); AddLockList (strID, strSession, strCount, strLogical, strMaxL, strStatus, pData); } } return 0L; } catch (CMemoryException* e) { MessageBeep (-1); theApp.OutOfMemoryMessage (); e->Delete(); } catch (CeIpmException e) { AfxMessageBox (e.GetReason(), MB_ICONEXCLAMATION|MB_OK); } while (!listInfoStruct.IsEmpty()) delete (LOCKLISTDATAMIN*)listInfoStruct.RemoveHead(); return 0L; }
void CXTPMarkupEventHandlerMap::Add(CXTPMarkupRoutedEvent* pEvent, CXTPMarkupDelegate* pDelegate) { CPtrList* pHandlers; if (!m_mapHandlers.Lookup(pEvent, pHandlers)) { pHandlers = new CPtrList(); m_mapHandlers.SetAt(pEvent, pHandlers); } pHandlers->AddTail(pDelegate); }
void CPictureSizeDlg::Apply() { if(m_dLastHeight == m_dHeight && m_dLastWidth == m_dWidth && m_iLastHeightUnits == m_iHeightUnits && m_iLastWidthUnits == m_iWidthUnits) return; CPtrList SelItems; m_pVecTstView->GetSelectedItems(SelItems, TRUE); CVecContainer::ArrangeItemsForTrack(SelItems); POSITION pos = SelItems.GetHeadPosition(); m_pVecTstView->m_VecController.m_UndoManager.CreateNewStep(); while(pos!=NULL) { CVecBase* pVec = (CVecBase*)SelItems.GetNext(pos);; m_pVecTstView->m_VecController.m_UndoManager.AddActionToLastStep(pVec, UAT_RESTORE_OB_FROM_LIGHT_DUMP); CDRect rect; rect = pVec->GetRect(); switch(m_iWidthUnits) { case UNITS_CM: rect.right = rect.left + m_dWidth * (VEC_UNITS_PER_INCH / CM_IN_INCH); break; case UNITS_INCH: rect.right = rect.left + m_dWidth * VEC_UNITS_PER_INCH ; break; case UNITS_PERCENT: rect.right = rect.left + (rect.right-rect.left) * (m_dWidth / 100); break; } switch(m_iHeightUnits) { case UNITS_CM: rect.bottom = rect.top + m_dHeight * (VEC_UNITS_PER_INCH / CM_IN_INCH); break; case UNITS_INCH: rect.bottom = rect.top + m_dHeight * VEC_UNITS_PER_INCH; break; case UNITS_PERCENT: rect.bottom = rect.top + (rect.bottom-rect.top) * (m_dHeight / 100); break; } pVec->SetRect(rect); } m_pVecTstView->m_VecContainer.Repaint(); m_pVecTstView->m_VecController.SetModified(); m_dLastHeight = m_dHeight; m_dLastWidth = m_dWidth; m_iLastHeightUnits = m_iHeightUnits; m_iLastWidthUnits = m_iWidthUnits; }
void CZipArchive::myfree(void* opaque, void* address) { if (opaque) { CPtrList* list = (CPtrList*) opaque; POSITION pos = list->Find(address); if (pos) list->RemoveAt(pos); } delete[] address; }
LONG CuDlgReplicationServerPageAssignment::OnUpdateData (WPARAM wParam, LPARAM lParam) { LPIPMUPDATEPARAMS pUps = (LPIPMUPDATEPARAMS)lParam; CPtrList listInfoStruct; switch (pUps->nIpmHint) { case 0: break; default: return 0L; } ASSERT (pUps); try { REPLICSERVERDATAMIN RepSvrdta = *((LPREPLICSERVERDATAMIN)pUps->pStruct); // // Empty the control: m_cListCtrl.DeleteAllItems(); CdIpmDoc* pIpmDoc = (CdIpmDoc*)wParam; CaIpmQueryInfo queryInfo(pIpmDoc, OT_MON_REPLIC_CDDS_ASSIGN,pUps); queryInfo.SetNode((LPCTSTR)RepSvrdta.LocalDBNode); queryInfo.SetDatabase ((LPCTSTR)RepSvrdta.LocalDBName); BOOL bOK = IPM_QueryInfo (&queryInfo, listInfoStruct); if (bOK) { POSITION pos = listInfoStruct.GetHeadPosition(); while (pos != NULL) { REPLICCDDSASSIGNDATAMIN* pCdds = (REPLICCDDSASSIGNDATAMIN*)listInfoStruct.GetNext(pos); AddItem (pCdds); } } } catch (CMemoryException* e) { theApp.OutOfMemoryMessage(); e->Delete(); } catch (CeIpmException e) { AfxMessageBox (e.GetReason(), MB_ICONEXCLAMATION|MB_OK); } while (!listInfoStruct.IsEmpty()) delete (REPLICCDDSASSIGNDATAMIN*)listInfoStruct.RemoveHead(); return 0L; }
// 根据回调指针获取wke对象指针 CDuiWkeView* CDuiWkeView::GetWkeViewByClientHandler(const wkeClientHandler* pWkeClientHandler) { int count = g_duiWkeViews.GetCount(); for(int i = 0; i < count; i ++) { POSITION pos = g_duiWkeViews.FindIndex(i); CDuiWkeView* pDuiWkeView = (CDuiWkeView*)g_duiWkeViews.GetAt(pos); if(pWkeClientHandler == pDuiWkeView->GetWkeClientHandler()) { return pDuiWkeView; } } return NULL; }
void Group::Add(CPtrList& listObj) { Figure* pObj; POSITION pos = listObj.GetHeadPosition(); while (pos) { pObj = (Figure*)listObj.GetNext(pos); pObj->SetGrouped(TRUE); //현재 개체가 그룹이 되었음을 표시 if (pObj->thisobject() == MYGROUP) //그룹일 경우 Child.AddTail((Group*)pObj); //차일드에 추가 else //그룹이 아닐 경우 NodeData.AddTail(pObj); //노드 데이터에 추가 } }
BOOL CDlgFreeTrainList::LoadFreeTrainManageListFile() { CString FileName = g_ProjectFilePath + "FeedTrain.lst"; CFile file; if(!file.Open(FileName, CFile::modeRead)) { ::AfxMessageBox(FileName + " 文件读取失败"); return FALSE; } else { CArchive ar(&file,CArchive::load); g_FreeTrainManageList.RemoveAll(); CString title = "FreeTrainList 1.0"; ar>>title; WORD Count = g_FreeTrainManageList.GetCount(); ar>>Count; for(int no=0;no<Count;no++) { struct TagFreeTrainStruct *pFreeTrain = new TagFreeTrainStruct; g_FreeTrainManageList.AddTail(pFreeTrain); ar>>pFreeTrain->InFeederUnitID; ar>>pFreeTrain->OutFeederUnitID; ar>>pFreeTrain->AverCurrent; ar>>pFreeTrain->AverAngle; ar>>pFreeTrain->CurrentChangeRate; ar>>pFreeTrain->InContinuedSeconds; ar>>pFreeTrain->ChangeContinuedSeconds; ar>>pFreeTrain->OutContinuedSeconds; ar>>pFreeTrain->StartupDelaySecond; CString InCurrentChangeRateList; CString OutCurrentChangeRateList; ar>>InCurrentChangeRateList; ar>>OutCurrentChangeRateList; strcpy(pFreeTrain->InCurrentChangeRateList,InCurrentChangeRateList.GetBuffer(0)); strcpy(pFreeTrain->OutCurrentChangeRateList,OutCurrentChangeRateList.GetBuffer(0)); ar>>g_SetCheck[no]; } ar.Flush(); ar.Close(); file.Close(); } return TRUE; }
void CDlgFreeTrainList::OnEdit() { if(m_ctlList.GetSelectedCount()!=1) return; POSITION pos = m_ctlList.GetFirstSelectedItemPosition(); int item = m_ctlList.GetNextSelectedItem(pos); TagFreeTrainStruct *pFreeTrain = (TagFreeTrainStruct *)g_FreeTrainManageList.GetAt(g_FreeTrainManageList.FindIndex(item)); CDlgFreeTrain dlg; dlg.m_pFreeTrain = pFreeTrain; if(dlg.DoModal()==IDOK) UpdateList(); }
void CXTPMarkupEventHandlerMap::Raise(CXTPMarkupObject* pSender, CXTPMarkupRoutedEventArgs* pEventArgs) { CPtrList* pHandlers; if (!m_mapHandlers.Lookup(pEventArgs->GetEvent(), pHandlers)) return; POSITION pos = pHandlers->GetHeadPosition(); while (pos) { CXTPMarkupDelegate* pDelegate = (CXTPMarkupDelegate*)pHandlers->GetNext(pos); pDelegate->Execute(pSender, pEventArgs); } }
void CDlgFreeTrainList::OnClon() { if(m_ctlList.GetSelectedCount()!=1) return; POSITION pos = m_ctlList.GetFirstSelectedItemPosition(); int item = m_ctlList.GetNextSelectedItem(pos); struct TagFreeTrainStruct *pFreeTrain = (TagFreeTrainStruct *)g_FreeTrainManageList.GetAt(g_FreeTrainManageList.FindIndex(item)); struct TagFreeTrainStruct *pNewFreeTrain = new TagFreeTrainStruct; memcpy(pNewFreeTrain,pFreeTrain,sizeof(TagFreeTrainStruct)); g_FreeTrainManageList.AddTail(pNewFreeTrain); UpdateList(); ::SelectListLastItem(m_ctlList); }
void ChatDialog::OnExit(TNotifyUI& msg) { thelockChatDlgList.Lock(); POSITION pos,temp; for (pos=theChatDialogList.GetHeadPosition();pos!=NULL;) { temp = pos; ChatDialog* pDlg = (ChatDialog*)theChatDialogList.GetNext(pos); if (pDlg&&pDlg==this) { theChatDialogList.RemoveAt(temp); } } thelockChatDlgList.UnLock(); Close(); }
void CWindowManager::Close() { CSingleLock pLock( &theApp.m_pSection, TRUE ); CPtrList pClose; for ( POSITION pos = GetIterator() ; pos ; ) { pClose.AddTail( GetNext( pos ) ); } for ( pos = pClose.GetHeadPosition() ; pos ; ) { CChildWnd* pChild = (CChildWnd*)pClose.GetNext( pos ); pChild->DestroyWindow(); } }
void CDlgFreeTrainList::OnSave() { if(::AfxMessageBox("是否保存除自由行车管理文件?",MB_YESNO)==IDNO) return; CString FileName = g_ProjectFilePath + "FeedTrain.lst"; CFile file; if(!file.Open(FileName, CFile::modeCreate | CFile::modeWrite)) { AfxMessageBox(FileName+" 保存文件失败!",MB_SYSTEMMODAL); return; } char buffer[1024]; CArchive ar(&file,CArchive::store,1024,buffer); CString title = "FreeTrainList 1.0"; ar<<title; WORD Count = g_FreeTrainManageList.GetCount(); ar<<Count; for(int no=0;no<Count;no++) { POSITION pos = g_FreeTrainManageList.FindIndex(no); struct TagFreeTrainStruct *pFreeTrain = (TagFreeTrainStruct *)g_FreeTrainManageList.GetAt(pos); ar<<pFreeTrain->InFeederUnitID; ar<<pFreeTrain->OutFeederUnitID; ar<<pFreeTrain->AverCurrent; ar<<pFreeTrain->AverAngle; ar<<pFreeTrain->CurrentChangeRate; ar<<pFreeTrain->InContinuedSeconds; ar<<pFreeTrain->ChangeContinuedSeconds; ar<<pFreeTrain->OutContinuedSeconds; ar<<pFreeTrain->StartupDelaySecond; CString InCurrentChangeRateList = pFreeTrain->InCurrentChangeRateList; CString OutCurrentChangeRateList = pFreeTrain->OutCurrentChangeRateList; ar<<InCurrentChangeRateList; ar<<OutCurrentChangeRateList; g_SetCheck[no] = m_ctlList.GetCheck(no); ar<<g_SetCheck[no]; } ar.Flush(); ar.Close(); file.Close(); }
BOOL CUpdateUtil::MakeClientXMLfile(CItemList *pItemListSoruce, LPCSTR lpszDestFilePath) { if(!pItemListSoruce) return FALSE; CStdioFile writeFile; CString strFilePath = lpszDestFilePath; BOOL bFind = CheckFolder(strFilePath); if(bFind){ if(!writeFile.Open(lpszDestFilePath, (CFile::modeCreate | CFile::modeWrite | CFile::typeText))){ SetLastError(UPDATE_ERROR_CANT_OPEN_XML_FILE); TRACE("UPDATE_ERROR_CANT_OPEN_XML_FILE : %s\n", lpszDestFilePath); return FALSE; } } else{ return FALSE; } UTIL_CANCEL(); CString strWriteLine, strFileName, strVersion, strDownPath, strCheckSum; strWriteLine = "<?xml version=\"1.0\" encoding=\"euc-kr\"?> \n"; strWriteLine += "<update-data> \n\n"; CPtrList* pPLServer = pItemListSoruce->GetPtrList(); POSITION posServer = pPLServer->GetHeadPosition(); while(posServer) { UPDATE_DATA *psiServer = (UPDATE_DATA *)pPLServer->GetNext(posServer); strFileName = psiServer->Name; strVersion = psiServer->Version; strDownPath = psiServer->DownPath; strCheckSum = psiServer->CheckSum; strWriteLine += "\t<file name=\"" + strFileName + "\"> \n"; strWriteLine += "\t\t<version>" + strVersion + "</version> \n"; strWriteLine += "\t\t<downpath>" + strDownPath + "</downpath> \n"; strWriteLine += "\t\t<checksum>" + strCheckSum + "</checksum> \n"; strWriteLine += "\t</file> \n\n"; } strWriteLine += "</update-data>"; writeFile.WriteString(strWriteLine); writeFile.Close(); // TRACE("Write Xml File Success \n Contents : \n%s\n", strWriteLine); return TRUE; }
CLibraryFolder* CLibraryFolderCtrl::GetNextSelectedFolder(POSITION& pos) const { CLibraryFolder* pFolder = NULL; do { if ( pos == NULL ) return NULL; HTREEITEM hItem = (HTREEITEM)pos; pos = (POSITION)GetNextSelectedItem( hItem ); if ( hItem == m_hRoot ) continue; CPtrList pTree; while ( hItem != m_hRoot ) { pTree.AddHead( (LPVOID)hItem ); hItem = GetParentItem( hItem ); } CLibraryFolder* pLastFolder = NULL; for ( POSITION posTree = pTree.GetHeadPosition() ; posTree ; pLastFolder = pFolder ) { hItem = (HTREEITEM)pTree.GetNext( posTree ); pFolder = (CLibraryFolder*)GetItemData( hItem ); if ( pLastFolder ) { if ( pLastFolder->CheckFolder( pFolder ) ) continue; } else { if ( LibraryFolders.CheckFolder( pFolder ) ) continue; } pFolder = NULL; break; } } while ( pFolder == NULL ); return pFolder; }
int CGenethonDoc::GetGenbankFile( CString PathName, int Append ) { CPtrList CommentList; CPtrList SequenceList; gMaxStrSize = 0L; if ( !ReadGenbankFile ( &CommentList, &SequenceList, PathName ) ) { while ( !SequenceList.IsEmpty() ) { delete (SeqNameStruct *)SequenceList.RemoveHead(); } return 0; } return ProcessRows( CommentList, SequenceList, Append ); }
void CXTPMarkupEventHandlerMap::RemoveAll() { POSITION pos = m_mapHandlers.GetStartPosition(); while (pos) { CPtrList* pHandlers; CXTPMarkupRoutedEvent* pEvent; m_mapHandlers.GetNextAssoc(pos, pEvent, pHandlers); while (!pHandlers->IsEmpty()) { CXTPMarkupDelegate* pDelegate = (CXTPMarkupDelegate*)pHandlers->RemoveTail(); MARKUP_RELEASE(pDelegate); } delete pHandlers; } m_mapHandlers.RemoveAll(); }