ngdriveview.h

来自「ResOrg 图形化管理Vc项目的资源ID的工具的源代码。 ResOrg - 」· C头文件 代码 · 共 62 行

H
62
字号
//***********************************************************************
//
//  NGDriveView.h
//
//***********************************************************************

class NGLIB_EXT_CLASS CNGDriveView : public CTreeView
{
    DECLARE_DYNCREATE(CNGDriveView)

public:
    CNGDriveView ();
    void RefreshDrive (UINT);
    CString GetPathFromItem (HTREEITEM);
    BOOL ExpandPath (LPCTSTR, BOOL = TRUE);

protected:
    CEvent m_event;
    CImageList m_imglDrives;
    DWORD m_dwMediaID[26];
    HANDLE m_hThreads[26];
    UINT m_nThreadCount;

    UINT InitTree ();
    BOOL AddDriveNode (CString&);
    UINT AddDirectoryNodes (HTREEITEM, CString&);
    void CreateMonitoringThread (CString&);
    void SetButtonState (HTREEITEM, CString&);
    void UpdateButtonState (HTREEITEM, CString&);
    UINT DeleteChildren (HTREEITEM);
    void AddDummyNode (HTREEITEM);
    BOOL IsDriveNode (HTREEITEM);
    BOOL HasSubdirectory (CString&);
    void RefreshDirectory (HTREEITEM);
    HTREEITEM FindItem (HTREEITEM, CString&);
    HTREEITEM GetDriveNode (HTREEITEM);
    DWORD GetSerialNumber (CString&);
    BOOL IsMediaValid (CString&);
    BOOL IsPathValid (CString&);

    static UINT ThreadFunc (LPVOID);

    virtual BOOL PreCreateWindow (CREATESTRUCT&);
    virtual void OnInitialUpdate ();
    virtual void OnSelectionChanged (CString&);
  
    afx_msg void OnDestroy ();
    afx_msg void OnItemExpanding (NMHDR*, LRESULT*);
    afx_msg void OnSelChanged (NMHDR*, LRESULT*);
    afx_msg LONG OnDriveContentsChanged (UINT, LONG);

    DECLARE_MESSAGE_MAP ();
};

typedef struct tagTHREADINFO
{
    UINT    nDrive;     // Drive number (0=A, 1=B, and so on)
    HANDLE  hEvent;     // Event handle
    HWND    hWnd;       // Handle of window to receive event notification
} THREADINFO, *PTHREADINFO;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?