2011年3月5日
摘要: 利用CArchive类实现数据串行化,需要注意的是,串行化的对象一定要是从CObject类派生出来的,同时,要在被串行化的对象的类的头文件中进行宏定义//文件串行化宏定义DECLARE_SERIAL(CMyBox)还要在被串行化的对象的类的实现文件中进行宏定义//对象串行化宏定义IMPLEMENT_SERIAL(CMyBox,CObject,0);然后对虚函数void 类名::Serialize(CArchive& ar)进行重载,添加相应的串行化代码和读取串行化文件代码,再在需要执行串行化的位置添加代码CFile file;file.Open(_T("1.dat" 阅读全文
posted @ 2011-03-05 23:58 Jiang, X. 阅读(366) 评论(0) 推荐(0) 编辑
摘要: 一、CTreeCtrl::GetRootItem Call this function to retrieve the root item of the tree view control. HTREEITEM GetRootItem( ) const;二、CTreeCtrl::GetItemText Returns the text of the item specified by hItem. CString GetItemText( HTREEITEM hItem ) const;三、CTreeCtrl::G... 阅读全文
posted @ 2011-03-05 22:22 Jiang, X. 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 获得CWinApp获得CMainFrame获得CChildFrame获得CDocument获得CView在CWinApp中AfxGetMainWnd()m_pMainWndAfxGetMainWnd()->MDIGetActive()AfxGetMainWnd()->GetActiveFrame()SDI:AfxGetMainWnd()->GetActiveView()->GetDocument()MDI:AfxGetMainWnd()->MDIGetActive()->GetActiveView()->GetDocument()SDI:AfxGetM 阅读全文
posted @ 2011-03-05 21:41 Jiang, X. 阅读(412) 评论(0) 推荐(0) 编辑
摘要: 1、从CString对象中提取第i个数据: int i; CString str = _T("ABCDEFGHIJKLMN"); int iLen = str.GetLength();if(i < iLen){ str.GetAt(i); }2、得到字符串的长度 str.GetLength(i);3、 阅读全文
posted @ 2011-03-05 19:14 Jiang, X. 阅读(141) 评论(0) 推荐(0) 编辑
摘要: void CLeftView::BrowseCurrentDir(CString strDir){//遍历文件夹下的所有文件夹 if(strDir == _T("")) { return; } else { if(strDir.Right(1) != _T("//")) strDir += L"//"; strDir =strDir+_T("*.*"); } CFileFind finder; CString strPath; BOOL bWorking = finder.FindFile(strDir); whi 阅读全文
posted @ 2011-03-05 16:25 Jiang, X. 阅读(396) 评论(0) 推荐(0) 编辑
摘要: 遍历某路径下所有文件夹和文件使用CFileFind类实现,其头文件为afx.h.获得当前可执行文件的路径:TCHAR exeFullPath[100]; GetModuleFileName(NULL,exeFullPath,100);获取当前可执行文件所在文件夹:CString sName; sName.Format( _T("%s "),exeFullPath);///当前文件全路径名。 int n = sName.ReverseFind( '\\'); sName=sName.Left(sName.ReverseFind( '\\') + 阅读全文
posted @ 2011-03-05 16:21 Jiang, X. 阅读(567) 评论(0) 推荐(0) 编辑
摘要: 在CMainFrame类中调用成员变量m_wndSplitter的GetPane()方法,得到需要的视图的指针并做强制类型转换即可。 或者先调用CMainFrame* pMainFrame = (CMainFrame*)AfxGetMainWnd();得到CMainFrame的指针,再做相同的操作。即: CLeftView * pView = (CLeftView *)m_wndSplitter.GetPane(0,0);pView->GetTreeCtrl();或: CMainFrame* pMainFrame = (CMainFrame*)AfxGetMainWnd();* pVie 阅读全文
posted @ 2011-03-05 14:43 Jiang, X. 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 一、引用 当用户需要同时对文当的不同部分进行编辑时,常常会用到切分窗口;这些窗口可以都是相同的视,或者一个窗口为列表视,而另一个为树型视图。应用程序框架有多种方式来表示多视图,切分窗口是其中的方式之一。 切分窗口分为动态切分窗口和静态切分窗口,它们都是由CsplitterWnd类(MFC类库)来实现的,在这两种表示方式中,创建同一视图类的对象是比较容易的(Cview),而在同一应用程序使用两个或更多的视图类(如:ClistView、CtreeView等),相对来说则要困难一些。 动态切分功能多应用在编辑文本类的软件中,在实际的开发中,我们经常要用到的是静态切分功能。静态切分窗口是指在窗口... 阅读全文
posted @ 2011-03-05 13:24 Jiang, X. 阅读(817) 评论(0) 推荐(0) 编辑