在 CTreeCtrl 中枚舉系統中的所有視窗!(I)
來源:互聯網
上載者:User
本文將給出一個來源程式
在一個對話方塊中的TreeCtrl中用樹的形式枚舉視窗
這是標頭檔
// WinList.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CWinList dialog
class CWinList : public CDialog
{
// Construction
public:
HWND m_hSelected;
CWinList(CWnd* pParent = NULL); // standard constructor
static BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam);
static BOOL CALLBACK EnumChildProc(HWND hwnd,LPARAM lParam);
void BuiltTree(HWND hWnd);
// Dialog Data
//{{AFX_DATA(CWinList)
enum { IDD = ID_WINLIST };
CTreeCtrl m_Tree;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CWinList)
public:
virtual BOOL DestroyWindow();
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
void DrawFlash(HWND hWnd);
void Refresh();
// Generated message map functions
//{{AFX_MSG(CWinList)
virtual BOOL OnInitDialog();
afx_msg void OnRefresh();
afx_msg void OnSelchangedTree(NMHDR* pNMHDR, LRESULT* pResult);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
CFont TreeFont;
TV_INSERTSTRUCT TreeItem;
int RootPt;
HTREEITEM RootArray[10];
};
--
┌————┐
│ 貝 貝 │
└————┘