lbctrl.h

来自「VC6数据库开发指南」· C头文件 代码 · 共 98 行

H
98
字号
#ifndef _LBCTRL_H
#define _LBCTRL_H

// lbctrl.h

#pragma once

///////////////////////////////////////////////////////////////////
// Specify which features are compiled into this class.
#define CMyListCtrl_ROWMODE
#define CMyListCtrl_FIRSTCOLUMNMODE
#define CMyListCtrl_ANYCOLUMNMODE
//#define CMyListCtrl_SORTMODE
#define CMyListCtrl_COLUMNWIDTHS
#define CMyListCtrl_GRIDLINEMODE

///////////////////////////////////////////////////////////////////
// Don't need either of these in "Row Mode".
#if defined CMyListCtrl_ROWMODE
#undef CMyListCtrl_FIRSTCOLUMNMODE
#undef CMyListCtrl_ANYCOLUMNMODE
#endif

///////////////////////////////////////////////////////////////////
// CMyListCtrl class
class CMyListCtrl : public CListCtrl
{
public:
   CMyListCtrl();
   virtual ~CMyListCtrl();

public:
   BOOL   IsItem(int nItem) const;
   BOOL   IsColumn(int nCol) const;
   int    GetSelectedItem(int nStartItem = -1) const;
   BOOL   SelectItem(int nItem);
   BOOL   SelectAll();

public:
   BOOL   GetModeFirstColumn() const
            { return m_bModeFirstColumn; }

   void   SetModeFirstColumn(BOOL b = TRUE);

   BOOL   GetModeAnyColumn() const
            { return m_bModeAnyColumn; }

   void   SetModeAnyColumn(BOOL b = TRUE);

   void   SetModeColumnWidths(const CString& s);

   void   SetModeGridLine(BOOL bHorz = TRUE, BOOL bVert = TRUE)
            { m_bModeGridLineHorz = bHorz;
            m_bModeGridLineVert = bVert; }

   BOOL   GetModeGridLineHorz() const
            { return m_bModeGridLineHorz; }

   BOOL   GetModeGridLineVert() const
            { return m_bModeGridLineVert; }

// Overrides
   // ClassWizard generated virtual function overrides
   //{{AFX_VIRTUAL(CMyListCtrl)
   protected:
   virtual void PreSubclassWindow();
   //}}AFX_VIRTUAL

   #if defined CMyListCtrl_ROWMODE
   virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
   #endif

// Generated message map functions
protected:
   //{{AFX_MSG(CMyListCtrl)
   afx_msg void OnClick(NMHDR* pNMHDR, LRESULT* pResult);
   afx_msg void OnDestroy();
   //}}AFX_MSG
   DECLARE_MESSAGE_MAP()

#ifdef CMyListCtrl_SORTMODE
   afx_msg void OnColumnclick(NMHDR* pNMHDR, LRESULT* pResult);
   static int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2,
                           LPARAM lParamSort);
#endif

protected:
   BOOL      m_bModeFirstColumn;
   BOOL      m_bModeAnyColumn;
   int       m_nColumnSort;
   BOOL      m_bSortAscending;
   CString   m_sColumnWidthsKey;
   BOOL      m_bModeGridLineHorz;
   BOOL      m_bModeGridLineVert;
};

#endif // #ifndef _LBCTRL_H

⌨️ 快捷键说明

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