付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年浙江温州市乐清市教育研究培训院选调研训员2名的笔试模拟试题及答案详解
- 2026年伊春市乌伊岭区网格员招聘笔试备考试题及答案详解
- 2026吉林省彩虹人才开发咨询服务有限公司招聘劳务派遣制岗位工作人员4人笔试备考试题及答案详解
- 2026浙江温州海关综合技术服务中心招聘编外人员2人笔试模拟试题及答案详解
- 2026泰兴市新源农产品加工投资发展有限公司招聘专业添加目录笔试参考题库及答案详解
- 2026四川宜宾市珙县县属国有企业第一次招聘调整部分岗位开考比例等相关事宜笔试备考试题及答案详解
- 2025年鸡西市滴道区网格员招聘考试试题及答案详解
- 2026福建雁翔实业发展集团有限公司所属企业招聘管理及专业技术人员1人补充笔试参考题库及答案详解
- 2026中国人民大学人事处国际交流合作部(港澳台办公室)招聘1人笔试模拟试题及答案详解
- 2026四川宜宾南溪区农业农村领域高校毕业生就业岗位招聘15人(第二批)笔试模拟试题及答案详解
- DB15∕T 1428-2024 大型并网光伏发电站运行维护规程
- 药品追溯制度管理制度
- 异常工况安全处置准则解读
- 窜货联保协议书
- 《经济学导论》教学课件
- 三体系基础知识培训课件
- 煤矿师傅带徒弟管理制度
- 广东2025年01月广东省廉江市人力资源和社会保障局等2个单位2025年公开招考政府雇员笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 高血压社区规范化管理与药物治疗
- 保险顺延申请书范本
- DBJ41-T 099-2010 河南省附属绿地绿化规划设计规范
评论
0/150
提交评论