vc编程技术600个大型项目源码一_第1页
vc编程技术600个大型项目源码一_第2页
vc编程技术600个大型项目源码一_第3页
vc编程技术600个大型项目源码一_第4页
vc编程技术600个大型项目源码一_第5页
免费预览已结束,剩余80页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Visual C+ AVI 程序以及三维动中(如摩托英豪、Cool 3D等)都广泛的采用 MFCCanimateCtrl MFC CAnimateCtrl Create()BOOLCreate(DWORDdwStyle,constRECT&rect,CWnd*pParentWnd,Visual C+ AVI 程序以及三维动中(如摩托英豪、Cool 3D等)都广泛的采用 MFCCanimateCtrl MFC CAnimateCtrl Create()BOOLCreate(DWORDdwStyle,constRECT&rect,CWnd*pParentWnd,nID pParentWnd指向父窗

2、口,nIDIDTRUEACS_CENTER ACS_TRANSPARENT 使动画片的背景透明(不输出动画片的背景色ACS_AUTOPLAY 。除表中的风格外, 一般还要为动画控件指定 WS_CHILDWS_VISIBLE WS_BORDER Open( Seek( nID ) 、BOOL Play( nFrom, nTo, nRep ) 、nTo、BOOLStop(、BOOLClose 为 NULL流。Play()nFrom65536,若为-1到流的末尾。的重复次数,若为-1 则无限重。Seek()函数用来静态地显nTo655360则显示第一帧,若为-1 用来关闭并从内存中清除流。上述所有函

3、数都是调用成功返回 TRUE,否则返回 用来关闭并从内存中清除流。上述所有函数都是调用成功返回 TRUE,否则返回 16一些简单的,颜色数较少的AVI 动画。如果要较满意256 色的MCI Finish 件 文件 Creat(WM_MOUSEMOVE; 框的提示文本为将鼠标移至按钮上:删除取消按钮,将确定按钮的属性 Styles 改为 OwnerDraw确定Insert|Resource 命令,在弹出的对话框中按下 Custom 按钮,然后输入AVI,向程序中添加AVI /AviButton.h:header#if !defined(AFX_AVIBUTTON_H 5E20D4EF_864E_

4、11D7_886E_F16C81CD642B IN AFX_AVIBUTTON_H 5E20D4EF_864E_11D7_886E_F16C81CD642B INCLUDED_ #if _MSC_VER 1000#pragma#endif / _MSC_VER 1000 classCAviButton:publicCButton/Construction U BOOLvoid voidDrawButton(CDC*pDC,/ e,CRect/ClassWizardgeneratedvirtualU BOOLvoid voidDrawButton(CDC*pDC,/ e,CRect/ClassW

5、izardgeneratedvirtualfunctionvirtualvoidDrawItem(LPDRAWITEMSTRUCTvirtual BOOL PCTSTR ame, LPCTSTR dwStyle,constRECT&rect,CWnd*pParentWnd,U CCreateContext* pContext = NULL);/ Implemenvirtual/Generatedmessagemapfunctions afx_msgvoidnFlags, #include stdafx.h #include AviButton.h #ifdef _DEBUG#definenew

6、DEBUG_NEW #undef THIS_FILEiccharTHIS_FILE= FILE m_nAviID = 0; bPlaying=FALSE;void m_nAviIDBEGIN_MESSAGE_MAP(CAviButton,void m_nAviIDBEGIN_MESSAGE_MAP(CAviButton,/CAviButtonmessagehandlers void CAviButton:DrawButton(CDC *pDC, UCOLORREFe,CRectedgeCol=RGB(0,0,0); /设置按钮边缘的初始化颜色; if (nSe&ODS_SELECTED)=OD

7、S_SELECTED)CPen*pOldPen=NULL; BOOL pen1Created; CPen pen1;CPen pen2;if(pen1Created=pen1.CreatePen(PS_SOLID,1,upCol) pOldPen = pDC-SelectObject( &pen1 );if(pen2Created=if(pen2Created=pen2.CreatePen(PS_SOLID,1,downCol) pDC-SelectObject( &pen2 );ifpen1Created=FALSE;ifpen2Created)/删除pen2pen2Created=FALS

8、E;if(pen1Created=pen1.CreatePen(PS_SOLID,1,edgeCol) pOldPen = pDC-SelectObject( &pen1 );ifpen1Created=FALSE;if(pOldPen!= pDC-SelectObject(pOldPenvoidCAviButton:DrawItem(LPDRAWITEMSTRUCT/TODO:Addyourcodetodrawthespecifieditem CRect rect;ifAnimateCtrl.Create(WS_CHILD|WS_VISIBLE,rect,this,0);/aviCDC*pD

9、C=CDC:FromHandle(lpDrawItemStruct-Ue=lpDrawItemStruct-CRect/DrawButton(pDC,e,BOOL PCTSTR ame, LPCTSTRCDC*pDC=CDC:FromHandle(lpDrawItemStruct-Ue=lpDrawItemStruct-CRect/DrawButton(pDC,e,BOOL PCTSTR ame, LPCTSTR dwStyle,constRECT&rect,CWnd*pParentWnd, nID,CCreateContext*/TODO:Addyourlizedcodehereand/or

10、callthebasereturname,lpszWindowName,rect,pParentWnd,nID,void nFlags,/TODO:Addyourmessagehandlercodehereand/orcalldefault CRect rcWindow; BOOLbNewMouseOverButton=rcWindow.PtInRect(po if (bNewMouseOverButton & IsWindowEnabled() )if(:IsWindow(AnimateCtrl)&bPlaying = TRUE; bPlaying=FALSE; BOOLreturnTRUE

11、;/returnTRUEunlessyousetthefocustoaCAnimateCtrlreturnTRUE;/returnTRUEunlessyousetthefocustoaCAnimateCtrlC+设计屏幕抓图程(加入日期:2006-9-【收藏文章【对此评论【保存文章至硬盘【打印文章】【字体:大中小WindowsScreen按钮后DLLbmpc:,F9Control,C:#pragmadata_seg(shareddata) HHOOK hHook =NULL; /钩子句柄UnHookCount =0;ic UCHAR HotKeyMAX_KEY = 0; /热键虚拟键码 ic

12、UCHAR HotKeyMaskMAX_KEY = 0;sHWND hCallWndMAX_KEY = 0; /window handle tedKeyCount UCHAR MaskBits =0; /00000 Ctrl=4 & Alt=2 & #pragma project-settings-link-object/library/section:shareddata,rws;defsections shareddata read write shared;第三种指定共享段的方法在程序里加上一句 外用 declspec(allocate(shareddata)DLLBOOLic UCHA

13、R HotKeyMAX_KEY = 0; /热键虚拟键码 ic UCHAR HotKeyMaskMAX_KEY = 0;sHWND hCallWndMAX_KEY = 0; /window handle tedKeyCount UCHAR MaskBits =0; /00000 Ctrl=4 & Alt=2 & #pragma project-settings-link-object/library/section:shareddata,rws;defsections shareddata read write shared;第三种指定共享段的方法在程序里加上一句 外用 declspec(al

14、locate(shareddata)DLLBOOL declspec(dllexport) stdcallAddHotkey(HWNDhWnd,UCHAR cKey,UCHAR cMask)BOOL return BOOL declspec(dllexport) stdcallDeleteHotkey(HWND UCHAR cKey,UCHAR cMask)BOOL return DLLLRESULT CALLBACK BOOL if(lParam&0 xc0000000)=0 xc0000000)/case :case VK_CONTROL: case VK_SHIFT: default:/

15、judgereturn DLLLRESULT CALLBACK BOOL if(lParam&0 xc0000000)=0 xc0000000)/case :case VK_CONTROL: case VK_SHIFT: default:/judgethekeyandsendmessage else f)=1)case :case VK_CONTROL: case VK_SHIFT: default:/judgethekeyandsendmessage else f)=1)case :case VK_CONTROL: case VK_SHIFT: default:/judgethekeyand

16、sendmessage sed)/lParamMSDNWM_KEYDOWNreturn CallNextHookEx( hHook, ram, lParam DLL,hook.libBOOL declspec(dllexport) stdcallAddHotkey(HWND,UCHARkey,UCHAR BOOL declspec(dllexport) stdcallDeleteHotkey(HWND,UCHARkey,UCHAR WindowProc()LRESULTCCaptureDlg:WindowProc(U DLL,hook.libBOOL declspec(dllexport) s

17、tdcallAddHotkey(HWND,UCHARkey,UCHAR BOOL declspec(dllexport) stdcallDeleteHotkey(HWND,UCHARkey,UCHAR WindowProc()LRESULTCCaptureDlg:WindowProc(U ram, /lParamreturnFALSE;ramBMPSaveBmp()来完成的,具体hook.dll(win2000/NTsystem32,98/ME1VisualC+,DLL2、 在HookAddHotkey()、DeleteHotkey()3Capture项目中按照图一所示设置4ClassWiza

18、rdCaptureWindowProc()5/Hook.h: main header file for the HOOK DLL#if!defined(AFX_HOOK_H AEBFF705_C93A_11D5_B7D6_0080C82BE86B INCLUD #defineAFX_HOOK_H AEBFF705_C93A_11D5_B7D6_0080C82BE86B INCLUDED_ #if _MSC_VER 1000#pragma #endif/_MSC_VER1000 #ifndef /Hook.h: main header file for the HOOK DLL#if!defin

19、ed(AFX_HOOK_H AEBFF705_C93A_11D5_B7D6_0080C82BE86B INCLUD #defineAFX_HOOK_H AEBFF705_C93A_11D5_B7D6_0080C82BE86B INCLUDED_ #if _MSC_VER 1000#pragma #endif/_MSC_VER1000 #ifndef AFXWIN_H #errorincludestdafx.hbeforeincludingthisfileforPCH #includeresource.h/mainsymbols class CHookApp : public CWinApp/

20、/ ClassWizard generated virtual function virtual BOOL / DO NOT EDIT what you LRESULTCALLBACKhese blocks of generated code ram,LPARAMBOOL declspec(dllexport) stdcallAddHotkey(HWND,UCHARkey,UCHAR BOOL declspec(dllexport) stdcallDeleteHotkey(HWND,UCHAR key,UCHAR mask);BOOL /Hook.cpp:Definestheinitializ

21、ationroutinesfortheDLL. #include stdafx.h#include #include #ifdef _DEBUG#definenewDEBUG_NEW #undef THIS_FILEsic char THIS_FILE = FILE MAX_KEY 100 CTRLBIT 0 x04 ALTBIT 0 x02 SHIFTBIT0 x01HHOOK hHook UnHookCount icUCHAR ic HotKeyMAX_KEY = 0; HotKeyMaskMAX_KEY=0;/flagforhotkey,valueis VK_NEMU or VK_SHI

22、FTVK_CONTRL #include #ifdef _DEBUG#definenewDEBUG_NEW #undef THIS_FILEsic char THIS_FILE = FILE MAX_KEY 100 CTRLBIT 0 x04 ALTBIT 0 x02 SHIFTBIT0 x01HHOOK hHook UnHookCount icUCHAR ic HotKeyMAX_KEY = 0; HotKeyMaskMAX_KEY=0;/flagforhotkey,valueis VK_NEMU or VK_SHIFTVK_CONTRL HWNDhCallWndMAX_KEY=0;/win

23、dowasso KeyCount =0;UCHAR MaskBits =0; /00000 Ctrl Alt ted with #pragmadata_seg() HINSTANCE hins;void VerifyWindow(); BEGIN_MESSAGE_MAP(CHookApp,CWinApp)/ NOTE - the ClassWizard / DO NOT EDIT what you add and remove macros hese blocks of generated / TODO: add construction / Place all significant ini

24、tialization in CHookApp LRESULT CALLBACK ram,LPARAM BOOL if(lParam&0 xc0000000)=0 xc0000000)/ Key case :case VK_CONTROL: case VK_SHIFT: default:/judgethekeyandsendmessage case :case VK_CONTROL: case VK_SHIFT: default:/judgethekeyandsendmessage else f)=1)/Key case :case VK_CONTROL: case VK_SHIFT: def

25、ault:/judgethekeyandsendmessage return CallNextHookEx( hHook, ram, lParam BOOL return CallNextHookEx( hHook, ram, lParam BOOL return TRUE;return(hHook!=NULL);return TRUE;hooked = return BOOL declspec(dllexport) stdcallAddHotkey(HWNDhWnd,UCHAR cKey,UCHAR cMask)BOOL return return BOOL declspec(dllexpo

26、rt) stdcallAddHotkey(HWNDhWnd,UCHAR cKey,UCHAR cMask)BOOL return BOOL declspec(dllexport) stdcallDeleteHotkey(HWND cKey,UCHAR cMask)BOOL return void KeyCount-BOOL return return / CaptureDlg.h : header #if!defined(AFX_CAPTUREDLG_HKeyCount-BOOL return return / CaptureDlg.h : header #if!defined(AFX_CAP

27、TUREDLG_H 97B51708_C928_11D5_B7D6_0080C82BE86B AFX_CAPTUREDLG_H 97B51708_C928_11D5_B7D6_0080C82BE86B INCLUDED_ #if _MSC_VER 1000#pragma #endif / _MSC_VER class CCaptureDlg : public /Construction UCHAR cKey; UCHAR CCaptureDlg(CWnd* pParent = NULL); / standard / Dialog enum IDD = IDD_CAPTURE_DIALOG CC

28、omboBox CString m_Path; CStringm_Number;/ ClassWizard generated virtual function virtualBOOLPreTranslateMessage(MSG*pMsg); virtualvoidDoDataExchange(CDataExchange*pDX);/DDX/DDVCCaptureDlg(CWnd* pParent = NULL); / standard / Dialog enum IDD = IDD_CAPTURE_DIALOG CComboBox CString m_Path; CStringm_Numb

29、er;/ ClassWizard generated virtual function virtualBOOLPreTranslateMessage(MSG*pMsg); virtualvoidDoDataExchange(CDataExchange*pDX);/DDX/DDVvirtualLRESULTWindowProc(U /Implemen HICON / Generated message map nID, HCURSOR /CaptureDlg.cpp:implemen #include stdafx.hion #pragmacomment(lib,hook.lib) #ifdef

30、 _DEBUG#definenewDEBUG_NEW #undef THIS_FILEsic char THIS_FILE = FILE #defineIDM_SBOOL declspec(dllexport) stdcall#pragmacomment(lib,hook.lib) #ifdef _DEBUG#definenewDEBUG_NEW #undef THIS_FILEsic char THIS_FILE = FILE #defineIDM_SBOOL declspec(dllexport) stdcallAddHotkey(HWND,UCHARkey,UCHAR BOOL decl

31、spec(dllexport) stdcallDeleteHotkey(HWND,UCHARkey,UCHAR class CAboutDlg : public / Dialog enum IDD = IDD_ABOUTBOX / ClassWizard generated virtual function virtualvoidDoDataExchange(CDataExchange*pDX);/DDX/DDV/Implemen CAboutDlg:CAboutDlg() : void CAboutDlg:DoDataExchange(CDataExchange* BEGIN_MESSAGE

32、_MAP(CAboutDlg, / No message CCaptureDlg:CCaptureDlg(CWnd* :CDialog(CCaptureDlg:IDD, m_bControl = FALSE;m_bAltBEGIN_MESSAGE_MAP(CAboutDlg, / No message CCaptureDlg:CCaptureDlg(CWnd* :CDialog(CCaptureDlg:IDD, m_bControl = FALSE;m_bAlt= m_Path= = = _T(0 picture /Notem_hIcon = AfxGetApp()-LoadIcon(IDR_

33、MAINFRAME);void CCaptureDlg:DoDataExchange(CDataExchange* DDX_Control(pDX,IDC_KEY,m_Key);IDC_CONTROL,m_bControl); IDC_ALT, m_bAlt); IDC_SHIFT, m_bShift);DDX_Text(pDX, IDC_PATH, m_Path); DDX_Text(pDX,IDC_NUMBER,m_Number);BEGIN_MESSAGE_MAP(CCaptureDlg, ON_BN_CLICKED(ID_ABOUT, OnAbout) ON_BN_CLICKED(ID

34、C_BROWSE,OnBrowse) ON_BN_CLICKED(ID_CHANGE, OnChange)BOOL ASSERT(IDM_ABOUTBOX & 0) = ASSERT(IDM_ABOUTBOX *pSys if (pSys= != CString ;if -(MF_STRING,IDM_ABOUTBOX,SetIcon(m_hIcon, TRUE); SetIcon(m_hIcon,FALSE); / Set big / Set small C* -ON_BN_CLICKED(ID_ABOUT, OnAbout) ON_BN_CLICKED(IDC_BROWSE,OnBrows

35、e) ON_BN_CLICKED(ID_CHANGE, OnChange)BOOL ASSERT(IDM_ABOUTBOX & 0) = ASSERT(IDM_ABOUTBOX *pSys if (pSys= != CString ;if -(MF_STRING,IDM_ABOUTBOX,SetIcon(m_hIcon, TRUE); SetIcon(m_hIcon,FALSE); / Set big / Set small C* -(TRUE unless you set the focus to a return TRUE; void if (nID & nID, LPARAM 0) =

36、CAboutDlgdlgAbout; mand(nID, void if DC dc(this); / device context for SendMessage(WM_ICONERASEBKGND, RAM) / Center icon in nt cxIcon=GetSystemMetrics(SM_CXICON); cyIcon = =(rect.Width() - cxIcon + 1) / (rect.Height()mand(nID, void if DC dc(this); / device context for SendMessage(WM_ICONERASEBKGND,

37、RAM) / Center icon in nt cxIcon=GetSystemMetrics(SM_CXICON); cyIcon = =(rect.Width() - cxIcon + 1) / (rect.Height()-cyIcon+1) the icon/ dc.DrawIcon(x, y, HCURSOR return (HCURSOR) void void CAboutDlgdlg; void CString str; BROWSEINFObi;char nameMAX_PATH; bi.lpszTitle=Select folder; LPITEMIDLISTidl=SHB

38、rowseForFolder(&bi); (str.GetLength()-void CDC dc; CBitmap void CString str; BROWSEINFObi;char nameMAX_PATH; bi.lpszTitle=Select folder; LPITEMIDLISTidl=SHBrowseForFolder(&bi); (str.GetLength()-void CDC dc; CBitmap CDC tBITMAP btm; DWORD size=btm.bmWidthBytes*btm.bmHeight; LPSTRlpData=(LPSTR)GlobalA

39、llocPtr(GPTR,size); BITMAPINFOHEADER bih;sCString name; BITMAPFILEHEADER bfh.bfType=(WORD)(M m_Number.Format(%dpicturecaptured.,nCount); m_Number.Format(%dpicturescaptured.,nCount); sCString name; BITMAPFILEHEADER bfh.bfType=(WORD)(M message = if(pMsg -ram = )return if(pMsg -ram = return return LRES

40、ULTCCaptureDlg:WindowProc(U ram, return CC-elseif(id=ID_EXIT) return LRESULT res= ram, returnreturn LRESULTCCaptureDlg:WindowProc(U ram, return CC-elseif(id=ID_EXIT) return LRESULT res= ram, returnvoid NOTIFYICONDATA dCString tip; ;data.uFlags=NIF_ICON|NIF_MESSAGE|NIF_TIP; Svoid NOTIFYICONDATA dSvoi

41、d Svoid NOTIFYICONDATA dSvoid BOOL UCHARmask=0; UCHAR key=0;return bRegistered;本实例通过一个钩子 DLL 实现了屏幕抓图的功能,本实例通过一个钩子 DLL 实现了屏幕抓图的功能,它有一个缺陷,那就是只利用Visual C(加入日期:2006-4-【收藏文章【对此评论【保存文章至硬盘【打印文章】【字体:大中小WindowsWindowsVisual C+2:IE如CTreeViewCLeftViewCListView CdriveExplorerViewCTreeView、CListViewAPIGetLogical

42、Drives(),GetDriveType()很好用的 API 函数。它以位掩码的形式返回逻辑驱动器。即在一个 DWORD 类型的0(最小的一位)A,1B,以此类推。每一个位的状态如果是 on,则表示对应的逻辑驱动器存在;每一个位的状态如果是 on,则表示对应的逻辑驱动器存在;否则状态为 off,表示对应的逻辑驱动器不存在。大家知道 DWORD 是一个 32 位的值,足以包括所有26路径名作为参数(C:),DRIVE_FIXED,DRIVE_REMOVABLE,或 DRIVE_UNKNOWNwinbase.hDRIVE_UNKNOWN 0DRIVE_NO_ROOT_DIR 1 / 无效路经,如

43、无法找到的卷标 DRIVE_REMOVABLE2(如磁盘驱动器,光驱等) DRIVE_FIXED 3 / 固定的驱动器 (如 通常的硬盘) DRIVE_REMOTE 4 / 网络驱动器DRIVE_CDROM 5 / CD-DRIVE_RAMDISK 6 / 随机存取(RAM)1VisualC+6.0,生成一个单文档视图的应用程序,视图类的基类CListView,项目命名为DriveExplorer,同时在项目中添加图标资源、2Class WizardCLeftView3/LeftView.h: erface of the CLeftView class#if!defined(AFX_LEFTV

44、IEW_H 29F66875_4E46_11D6_9693_B383368EF622 IN AFX_LEFTVIEW_H 29F66875_4E46_11D6_9693_B383368EF622 INCLUDED_ #if _MSC_VER 1000#pragma #endif/_MSC_VER1000 class CDriveExplorerDoc;class CLeftView : public protected:/createfromserializationonly /Attributes CDriveExplorerDoc* Get CImageList*m_pImageList;

45、 CString m_LocalPath;/Operations bdirectory(CString IsDriveNode(HTREEITEM e(HTREEITEM hItem, CString AddDirectoryNodes(HTREEITEM hItem, CString tring HTREEITEM#pragma #endif/_MSC_VER1000 class CDriveExplorerDoc;class CLeftView : public protected:/createfromserializationonly /Attributes CDriveExplore

46、rDoc* Get CImageList*m_pImageList; CString m_LocalPath;/Operations bdirectory(CString IsDriveNode(HTREEITEM e(HTREEITEM hItem, CString AddDirectoryNodes(HTREEITEM hItem, CString tring HTREEITEMGetDriveNode(HTREEITEMhItem); DeleteChildren(HTREEITEM hItem);BOOL tring CString GetPathFromItem(HTREEITEM

47、AddDummyNode(HTREEITEM hItem); InitTreeView(HTREEITEM hParent); AddDrives(CStringstrDrive,HTREEITEMhParent);/ / ClassWizard generated virtual function virtualvoid virtual OnDraw(CDC* pDC); / overridden to draw this Info*pInfo); Info* pInfo);timeafterC*pDC, C* pDC, OnInitialUpdate();/Implemen virtual

48、CLeftView(); #ifdef _DEBUGvirtual void AssertValid() virtualvoidDump(CDumpContext&dc)const; /Generatedmessagemapfunctions virtual void AssertValid() virtualvoidDump(CDumpContext&dc)const; /Generatedmessagemapfunctions / DO NOT EDIT what you hese blocks of generated code OnItemexpanding(NMHDR*pNMHDR,

49、LRESULT*pResult); OnSelchanging(NMHDR* pNMHDR, LRESULT* pResult);#ifndef _DEBUG / debug in inline CDriveExplorerDoc* return(CDriveExplorerDoc*)m_p ; #ifdef #definenewDEBUG_NEW #undef THIS_FILEsic char THIS_FILE = FILE ILI_CDDRV ILI_CLSDFLD ILI_DRIVE ILI_FLOPPYDRV P ILI_OPENFLD ILI_TEXTFILE PUTER My

50、IMPLEMENT_DYNCREATE(CLeftView,CTreeView) BEGIN_MESSAGE_MAP(CLeftView, CTreeView)/ NOTE - the ClassWizard will add and macros /DONOTEDITwhatyousee hese blocks of generated ON_NOTIFY_REFLECT(TVN_ITEMEXPANDING,OnItemexpanding) ON_NOTIFY_REFLECT(TVN_SELCHANGING, OnSelchanging)/ Standard , )_DIRECT, _PRE

51、VIEW, )/CLeftView / TODO: add construction code BOOL CLeftView:PreCreateWindow(CREATESTRUCT& /TODO:/DONOTEDITwhatyousee hese blocks of generated ON_NOTIFY_REFLECT(TVN_ITEMEXPANDING,OnItemexpanding) ON_NOTIFY_REFLECT(TVN_SELCHANGING, OnSelchanging)/ Standard , )_DIRECT, _PREVIEW, )/CLeftView / TODO:

52、add construction code BOOL CLeftView:PreCreateWindow(CREATESTRUCT& /TODO:ModifytheWindowclassorstylesherebymodifying CREATESTRUCT cscs.style |= TVS_HASBUTTONS | TVS_LINESATROOT | return void CLeftView:OnDraw(CDC* CDriveExplorerDoc*pDoc=Get TODO: add draw code for native data default return void C* I

53、nfo*/ TODO: add extra initialization before C* /*pDC*/, Info* TODO: add cleanup m_pImageList=newCImageList(); CWinApp* pApp = AfxGetApp();C* /*pDC*/, Info* TODO: add cleanup m_pImageList=newCImageList(); CWinApp* pApp = AfxGetApp();m_pImageList-Create(16, 16, ILC_COLOR8 | ILC_MASK, 9, 9); m_pImageLi

54、st-Add(pApp-GetTreeCtrl().SetImageList(m_pImageList,TVSIL_NORMAL);HTREEITEM hParent = GetTreeCtrl().Expand(hParent,TVE_EXPAND);#ifdef void CLeftView:AssertValid() void CLeftView:Dump(CDumpContext& dc) CDriveExplorerDoc*CLeftView:Get () / non-debug -return ;#endif void CLeftView:InitTreeView(HTREEITE

55、M n= UnCount = CString strDrive = DWORDdwDriveList= CString cTmp;while(dwDriveList) if (dwDriveList :GetLogicalDrives 1) cTmp = (0, 0 x41 + if(AddDrives(strDrive#endif void CLeftView:InitTreeView(HTREEITEM n= UnCount = CString strDrive = DWORDdwDriveList= CString cTmp;while(dwDriveList) if (dwDriveL

56、ist :GetLogicalDrives 1) cTmp = (0, 0 x41 + if(AddDrives(strDrive,hParent) dwDriveList = nBOOL CLeftView:AddDrives(CString strDrive, HTREEITEM nType = :GetDriveType (LPCTSTR) nDrive = ) strDrive0 - switch (nType) case hItem=GetTreeCtrl().InsertItem(strDrive,ILI_FLOPPYDRV, ILI_FLOPPYDRV, hParent);cas

57、e hItem=GetTreeCtrl().InsertItem(strDrive,ILI_DRIVE,ILI_DRIVE, case hItem=GetTreeCtrl().InsertItem(strDrive,ILI_DRIVE,ILI_DRIVE, case hItem=GetTreeCtrl().InsertItem(strDrive,ILI_CDDRV,ILI_CDDRV, case hItem=GetTreeCtrl().InsertItem(strDrive,ILI_CDDRV,ILI_CDDRV, case hItem=GetTreeCtrl().InsertItem(str

58、Drive,ILI_CDDRV,ILI_CDDRV, return return void /TODO:Addyourmessage if(m_pImageList != NULL) m_pImageList = NULL; delete m_pImageList;handler code void CLeftView:AddDummyNode(HTREEITEM GetTreeCtrl().InsertItem (, 0, 0, CString CLeftView:GetPathFromItem(HTREEITEM CString strPathName; while (hItem != C

59、String string = GetTreeCtrl().GetItemText (hItem); if(string.Right (1) != ) & string += strPathName = string + hItem = GetTreeCtrl().GetParentItem if(strPathName.Left(11)PUTER&strPathName.GetLength()strPathName=strPathName.Mid(12); return strPathName;BOOL tringif(strPathName.GetLength()=3) return TR

60、UE;HANDLE hFind; WIN32_FIND_DATAfd;BOOL bResult = if (hFind = File (LPCTSTR) &fd) if wFileAttributes bResult = :CloseHandle BOOL tringif(strPathName.GetLength()=3) return TRUE;HANDLE hFind; WIN32_FIND_DATAfd;BOOL bResult = if (hFind = File (LPCTSTR) &fd) if wFileAttributes bResult = :CloseHandle ret

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论