




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
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 。除表中的風(fēng)格外, 一般還要為動畫控件指定 WS_CHILDWS_VISIBLE WS_BORDER Open( Seek( nID ) 、BOOL Play( nFrom, nTo, nRep ) 、nTo、BOOLStop(、BOOLClose 為 NULL流。Play()nFrom65536,若為-1到流的末尾。的重復(fù)次數(shù),若為-1 則無限重。Seek()函數(shù)用來靜態(tài)地顯nTo655360則顯示第一幀,若為-1 用來關(guān)閉并從內(nèi)存中清除流。上述所有函
3、數(shù)都是調(diào)用成功返回 TRUE,否則返回 用來關(guān)閉并從內(nèi)存中清除流。上述所有函數(shù)都是調(diào)用成功返回 TRUE,否則返回 16一些簡單的,顏色數(shù)較少的AVI 動畫。如果要較滿意256 色的MCI Finish 件 文件 Creat(WM_MOUSEMOVE; 框的提示文本為將鼠標(biāo)移至按鈕上:刪除取消按鈕,將確定按鈕的屬性 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); /設(shè)置按鈕邊緣的初始化顏色; 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+設(shè)計屏幕抓圖程(加入日期:2006-9-【收藏文章【對此評論【保存文章至硬盤【打印文章】【字體:大中小WindowsScreen按鈕后DLLbmpc:,F(xiàn)9Control,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項目中按照圖一所示設(shè)置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 實現(xiàn)了屏幕抓圖的功能,本實例通過一個鉤子 DLL 實現(xiàn)了屏幕抓圖的功能,它有一個缺陷,那就是只利用Visual C(加入日期:2006-4-【收藏文章【對此評論【保存文章至硬盤【打印文章】【字體:大中小WindowsWindowsVisual C+2:IE如CTreeViewCLeftViewCListView CdriveExplorerViewCTreeView、CListViewAPIGetLogical
42、Drives(),GetDriveType()很好用的 API 函數(shù)。它以位掩碼的形式返回邏輯驅(qū)動器。即在一個 DWORD 類型的0(最小的一位)A,1B,以此類推。每一個位的狀態(tài)如果是 on,則表示對應(yīng)的邏輯驅(qū)動器存在;每一個位的狀態(tài)如果是 on,則表示對應(yīng)的邏輯驅(qū)動器存在;否則狀態(tài)為 off,表示對應(yīng)的邏輯驅(qū)動器不存在。大家知道 DWORD 是一個 32 位的值,足以包括所有26路徑名作為參數(shù)(C:),DRIVE_FIXED,DRIVE_REMOVABLE,或 DRIVE_UNKNOWNwinbase.hDRIVE_UNKNOWN 0DRIVE_NO_ROOT_DIR 1 / 無效路經(jīng),如
43、無法找到的卷標(biāo) DRIVE_REMOVABLE2(如磁盤驅(qū)動器,光驅(qū)等) DRIVE_FIXED 3 / 固定的驅(qū)動器 (如 通常的硬盤) DRIVE_REMOTE 4 / 網(wǎng)絡(luò)驅(qū)動器DRIVE_CDROM 5 / CD-DRIVE_RAMDISK 6 / 隨機存?。≧AM)1VisualC+6.0,生成一個單文檔視圖的應(yīng)用程序,視圖類的基類CListView,項目命名為DriveExplorer,同時在項目中添加圖標(biāo)資源、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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 供熱公司收購合同范本
- 買方單方面違約合同范本
- 上海租賃牌照合同范本
- 2024年遵義市赤水市公益性崗位人員招聘考試真題
- Unit 1 A new start:Understanding ideas ① 教學(xué)設(shè)計 -2024-2025學(xué)年外研版(2024年)英語七年級 上冊
- 出售大型廢船合同范本
- 臨時供電協(xié)議合同范本
- 2024年民主與科學(xué)雜志社招聘考試真題
- 勞務(wù)合同范本修灶臺
- 上海疫情物質(zhì)供貨合同范本
- 《人工智能導(dǎo)論》(第2版)高職全套教學(xué)課件
- 39 《出師表》對比閱讀-2024-2025中考語文文言文閱讀專項訓(xùn)練(含答案)
- 蛇膽川貝液在動物模型中的藥理作用研究
- GB/T 44260-2024虛擬電廠資源配置與評估技術(shù)規(guī)范
- 中國煤炭地質(zhì)總局公開招聘報名表
- AQ 1064-2008 煤礦用防爆柴油機無軌膠輪車安全使用規(guī)范(正式版)
- 電子商務(wù)數(shù)據(jù)分析基礎(chǔ)(第二版) 課件 模塊1、2 電子商務(wù)數(shù)據(jù)分析概述、基礎(chǔ)數(shù)據(jù)采集
- YB-T+4190-2018工程用機編鋼絲網(wǎng)及組合體
- 高大模板安全施工施工安全保證措施
- 比亞迪公司應(yīng)收賬款管理的問題及對策分析
- 【高考真題】2024年新課標(biāo)全國Ⅱ卷高考語文真題試卷(含答案)
評論
0/150
提交評論