Page principale | Hiérarchie des classes | Liste par ordre alphabétique | Liste des composants | Liste des fichiers | Composants | Déclarations | Pages associées

MyListView.h

Aller à la documentation de ce fichier.
00001 // listView.h: interface for the CMyListView class.
00002 //
00004 #include <commctrl.h>
00005 
00006 #if !defined(AFX_LISTVIEW_H__E03DD901_8FF2_11D5_9AB9_00D04C390250__INCLUDED_)
00007 #define AFX_LISTVIEW_H__E03DD901_8FF2_11D5_9AB9_00D04C390250__INCLUDED_
00008 
00009 #if _MSC_VER > 1000
00010 #pragma once
00011 #endif // _MSC_VER > 1000
00012 
00013 /* **********************************************************************************
00014         Ajouter la comctl32.lib dans les link
00015 ********************************************************************************** */
00016 
00017 #include "MyControl.h"
00018 #include "MyList.h"
00019 #include "MyTree.h"
00020 
00021 #define DEBUG_LISTVIEW // a masquer si l'on ne desire pas de debug
00022 
00023 #include "ClientDebug.h"
00024 
00025 class CMyListViewNotify
00026 {
00027         private:
00028         #ifdef DEBUG_LISTVIEW
00029                 CMyString titleDebug,textDebug;
00030                 CClientDebug debug;
00031         public:
00032                 HWND hWnd;
00033         #endif
00034 
00035         protected:
00036                 virtual void OnColumnSizeChanged (int numColumn,int newSize);
00037                 virtual void OnGetText (int line,int column,char *text);
00038                 virtual void OnItemChanged (int line,int column);
00039                 virtual void OnKeyDown (WORD vKey);
00040 
00041                 friend class CMyListView;
00042 };
00043 
00044 class CMyListView : public CMyControl , public CMyListViewNotify
00045 {
00046         private:
00047                 CMyListViewNotify *classNotify;
00048                 int m_lineSelected;
00049                 int m_columnSelected;
00050 
00051                 int oldColumn; // pour la detection de changement de colone
00052                 int oldWidth;
00053                 BOOL isRepaint ;
00054 
00055         public:
00056                 CMyListView                     (HWND hwndMaster,int x,int y,int xy,int dy,int optionalControlID=0);
00057                 CMyListView                     (HWND hwndListView);
00058                 CMyListView                     ();
00059                 virtual ~CMyListView();
00060                 void operator=		(HWND hWndListView);
00061                 void operator=		(CMyListViewNotify *ptrClassNotify);
00062 
00063                 int              GetLineSelected        ()      {return m_lineSelected;}
00064                 int              GetColumnSelected      ()      {return m_columnSelected;}
00065 
00066                 BOOL     AddColumn                      (char *nameHead,int size);
00067                 BOOL     AddColumnPercent   (char *nameHead,double percent);
00068                 void     SetNbCount                     (int nbCount);
00069                 int              GetNbCount                     () { return m_nbCount; }
00070                 void     IncCount                       () { SetNbCount(m_nbCount+1); }
00071                 void     DecCount                       () { SetNbCount(m_nbCount-1); }
00072 
00073                 void     UnSelectedAll          ();
00074                 void     SetLineSelected        (int index,BOOL alwaysOneSelected=TRUE);
00075                 void     EnableLineSelected     (int index,BOOL set);
00076 
00077                 BOOL     IsLineSelected         (int index);
00078                 void     SetHotItem                     (int index);
00079 
00080                 int              GetColumnWidth         (int index);
00081                 BOOL     SetColumn                      (long index,char *text);
00082 
00083                 void     SetGridLinesView       (BOOL active);
00084                 BOOL     SetImageList           (HIMAGELIST hil);
00085 
00086                 BOOL     GetFullRawSelect       ();
00087                 BOOL     SetFullRawSelect       (BOOL set);
00088 
00089                 int             GetLinesSelected        (CMyList<int> *lstSelect);
00090 
00091                 void    SetLineHover            (int newLine) { m_lineHover=newLine; }
00092                 int             GetLineHover            () { return m_lineHover; }
00093                 void    SetColumnHover          (int newLine) { m_columnHover=newLine; }
00094                 int             GetColumnHover          () { return m_columnHover; }
00095 
00096                 BOOL    Notify                          (LPARAM lParam,int *result);
00097 
00098                 BOOL    SetItemHeight           (int height);
00099                 BOOL    SetCheckBox                     (BOOL set);
00100                 BOOL    SetHeaderDragDrop       (BOOL set);
00101                 BOOL    SetSubItemImages        (BOOL set);
00102                 BOOL    SetTrackSelect          (BOOL set);
00103 
00104                 HWND    GetHeader                       ();
00105 
00106                 void    SetHightLightColor                      (COLORREF textColor,COLORREF backgroundColor);
00107                 void    SetHightLightColorUnFocus       (COLORREF textColor,COLORREF backgroundColor);
00108                 void    SetLineColor                            (COLORREF textColor,COLORREF backgroundColor);
00109 
00110                 void    GetHightLightColor                      (COLORREF *textColor,COLORREF *backgroundColor);
00111                 void    GetHightLightColorUnFocus       (COLORREF *textColor,COLORREF *backgroundColor);
00112                 void    GetLineColor                            (COLORREF *textColor,COLORREF *backgroundColor);
00113 
00114                 int             GetControlID            () { return m_controlID; }
00115 
00116                 void    FirstCollumnAsTree              (CMyTree *tree);
00117                 void    TreeColumnSizeChanged   ();
00118 
00119                 CMyTree *       m_tree;
00120 
00121         private:
00122                 void            Init();
00123 
00124                 int                     m_nbCount;
00125                 int                     m_nbColumn;
00126 
00127                 int                     m_lineHover;
00128                 int                     m_columnHover;
00129 
00130                 COLORREF        m_textColor;            
00131                 COLORREF        m_backgroundColor;
00132                 COLORREF        m_textColorHi;          
00133                 COLORREF        m_backgroundColorHi;
00134                 COLORREF        m_textColorHiUf;                
00135                 COLORREF        m_backgroundColorHiUf;
00136 
00137                 int                     m_controlID;
00138 };
00139 
00140 #endif // !defined(AFX_LISTVIEW_H__E03DD901_8FF2_11D5_9AB9_00D04C390250__INCLUDED_)

Généré le Thu Apr 8 18:58:42 2004 pour SFC par doxygen 1.3.6