OSDN Git Service

エラー処理途中まで
[nlite/nlite.git] / nlite / nlite_commentview.h
index 9f78e9f..1b2887b 100644 (file)
 
 namespace nlite{
 
+       class CCommentView;
+       class CCommentListWindow;
+       class CChatChildCtrlsList;
+       class CChatChildCtrls;
+
+       //\92è\90\94\97p\82Ì\96¼\91O\8bó\8aÔ
        namespace commentViewConstant{
-               const static LPCTSTR  NLITE_COMMENTVIEW = TEXT("commentViewConstant::NLITE_COMMENTVIEW");
 
+               //\83R\83\81\83\93\83g\83r\83\85\81[\83E\83B\83\93\83h\83E\96¼
+               const static LPCTSTR  NLITE_COMMENTVIEW = TEXT("NLITE_COMMENTVIEW");
+
+               //\83R\83\81\83\93\83g\83\8a\83X\83g\83E\83B\83\93\83h\83E\96¼
+               const static LPCTSTR NLITE_COMMENTLISTWINDOW = TEXT("NLITE_COMMENTLISTWINDOW");
+
+               //\83w\83b\83_\81[\82Ì\8d\82\82³
                const static UINT_PTR HEADER_HAIGHT = 20;
 
+               //\83w\83b\83_\81[\83R\83\93\83g\83\8d\81[\83\8bID
                const static UINT_PTR HEADER_ID = 257;
 
-               const static UINT_PTR LISTBOX_ID = 258;
+               //\83R\83\81\83\93\83g\83\8a\83X\83g\83E\83B\83\93\83h\83EID
+               const static UINT_PTR LISTWINDOW = 258;
 
+               //baseWindowID
                const static UINT_PTR MENU_OR_ID = 256;
        }
-       
-       class CCommentView:public CWindowImpl<CCommentView>{
+
+       class CChatReadEdit :public CWindowImpl<CChatReadEdit,CRichEditCtrl>{
+               friend CCommentListWindow;
+               friend CChatChildCtrls;
+
+               CCommentView &m_master;
+
+
+               BEGIN_MSG_MAP(CChatReadEdit)
+
+               END_MSG_MAP()
+               CChatReadEdit(CCommentView &m_master);
+               BOOL SetWindowText(const CChatData &str);
+
+               ///
+               ///\93à\97e\82ð\83\8a\83Z\83b\83g
+               //
+               VOID Reset();
+
+
+               ///
+               ///\83\8a\83\93\83N\95\\8e¦\95\8e\9a\97ñ\82ð\8c\88\92è
+               ///
+               VOID linkStringBeside(const tstring &target,const nliteregex::tregex &re);
+
+
+               ///
+               ///\82±\82Ì\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82É\82¨\82¯\82é\94Ä\97p\93I\82È\83E\83B\83\93\83h\83E\8dì\90¬\8aÖ\90\94
+               ///
+               HWND GeneralCreate(HWND hParent,DWORD eventMask,UINT id);
+       };
+
+       class CChatChildCtrls{
+               friend CCommentListWindow;
+               friend CChatChildCtrlsList;
+       private:
+               CChatReadEdit chatDispCtrl;
+               CCommentView &m_master;
+
+
+       private:
+
+               enum {
+                       NO_DIOSCTRL_ID = 10000000,
+                       USERNAME_DISPCTRL_ID = 20000000,
+                       CHAT_DISPCTRL_ID = 30000000
+
+               };
+
+               ///
+               ///\83R\83\93\83X\83g\83\89\83N\83^
+               ///
+               CChatChildCtrls(CCommentView &hMaster);
+
+               ///
+               ///\8ew\92è\82µ\82½\8d\82\82³\82É\83R\83\93\83g\83\8d\81[\83\8b\82ð\83Z\83b\83g
+               ///
+               VOID SetCtrl(HDWP,const RECT &rc,CCommentList::reference commen,BOOL mulutiLineFlag);
+
+               VOID AdjustRect(RECT &rc);
+
+               VOID Hide(HDWP hdwp);
+
+               VOID Create();
+
+               ///
+               ///\83R\83\93\83g\83\8d\81[\83\8b\82Ì\8cÂ\90\94\82ð\8eæ\93¾
+               ///
+               static UINT_PTR GetCtrlCount();
+
+
+
+       };
+
+       ///
+       ///\83R\83\81\83\93\83g\95\\8e¦\83E\83B\83\93\83h\83E\82Ì\8eq\83E\83B\83\93\83h\83E\83\8a\83X\83g
+       ///
+       class CChatChildCtrlsList{
+               friend CCommentView;
+               friend CCommentListWindow;
+               friend CChatChildCtrls;
+
+       private:
+               typedef std::list<CChatChildCtrls> InternalList;
+
+               InternalList m_list;                                                            //\93à\95\94\82Å\8aÇ\97\9d\82·\82é\83\8a\83X\83g
+               CCommentView &m_hMaster;                                                        //\82±\82Ì\83E\83B\83\93\83h\83E\82ð\8f\8a\97L\82µ\82Ä\82¢\82é\90e\83E\83B\83\93\83h\83E
+
+
+       private:
+               typedef InternalList::reference reference;
+               typedef InternalList::iterator iterator;
+
+               ///
+               ///\83R\83\93\83X\83g\83\89\83N\83^
+               ///
+               CChatChildCtrlsList(CCommentView &hMaster);
+
+
+
+               ///
+               ///\83R\83\93\83g\83\8d\81[\83\8b\82ð\95\\8e¦
+               ///
+               VOID ShowCntrls();
+
+               ///
+               ///\94ñ\95\\8e¦\8f\88\97\9d
+               ///
+               VOID AllHide();
+
+       private:
+
+               ///
+               ///\8ag\92£\8f\88\97\9d
+               ///
+               iterator Extend();
+
+
+       };
+
+
+       //\83R\83\81\83\93\83g\95\\8e¦\97p\83E\83B\83\93\83h\83E
+       class CCommentListWindow:public CWindowImpl<CCommentListWindow>{
+
+               friend CCommentView;
+               friend CChatChildCtrls;
+               friend CChatChildCtrlsList;
+
+
+               //\83\81\83\93\83o
+       private:
+               CCommentView &self;
+               UINT_PTR viewSellHeight;
+               CPen collLinePen;                                                                                                       //\8d\80\96Ú\8fc\90ü\95`\89æ\97p\83y\83\93
+               CPen normalSellLinePen;                                                                                         //\98g\90ü\95`\89æ\97p\83y\83\93
+               CBrush normalBkBrush;                                                                                           //\94w\8ci\95`\89æ\97p\83u\83\89\83V
+               CPen selectSellLinePen;                                                                                         //\98g\90ü\95`\89æ\97p\83y\83\93
+               CBrush selectBkBrush;                                                                                           //\94w\8ci\95`\89æ\97p\83u\83\89\83V
+               CFont linkFont;                                                                                                         //\83\8a\83\93\83N\95\8e\9a\97ñ\82Ì\83t\83H\83\93\83g
+
+
+               enum {
+                       CALCEDIT_ID = 100
+
+               };
+
+       public:
+
+
+               DECLARE_WND_CLASS(commentViewConstant::NLITE_COMMENTLISTWINDOW)
+
+
+               //
+               //\83\81\83b\83Z\81[\83W\83}\83b\83v
+               //
+               BEGIN_MSG_MAP(CCommentListWindow)
+                       MSG_WM_LBUTTONDBLCLK(OnLButtonDblClk)
+                       MSG_WM_LBUTTONDOWN(OnLButtonDown)
+                       MSG_WM_CREATE(OnCreate)
+                       MSG_WM_ERASEBKGND(OnEraseBkGnd)
+                       MSG_WM_MOUSEWHEEL(OnMouseWheel)
+                       MSG_WM_PAINT(OnPaint)
+                       MSG_WM_SIZE(OnSize)
+                       MSG_WM_KEYDOWN(OnKeyDown)
+                       MSG_WM_SETCURSOR(OnSetCursor)
+                       MESSAGE_HANDLER_EX(UM_COMMENTVIEW_SETCTRL,OnSetCtrol)
+                       NOTIFY_ID_HANDLER_EX(CChatChildCtrls::CHAT_DISPCTRL_ID,OnChatControlNortify)
+                       NOTIFY_HANDLER_EX(CALCEDIT_ID,EN_REQUESTRESIZE,OnCalcSellSize)
+               END_MSG_MAP()
+
+
+
+       private:
+
+               ///
+               ///\83R\83\93\83X\83g\83\89\83N\83^
+               ///
+               CCommentListWindow(CCommentView &self_in);
+
+               ///
+               ///\83f\83X\83g\83\89\83N\83^
+               ///
+               ~CCommentListWindow();
+
+
+
+
+               ///
+               ///\83v\83\8d\83p\83e\83B\90Ý\92è\8e\9e\82Ì\8f\88\97\9d
+               ///
+               VOID OnSetProperty();
+
+               ///
+               ///\83X\83N\83\8d\81[\83\8b\83y\81[\83W\8cv\8eZ
+               ///
+               UINT_PTR CalcScrollPage(UINT_PTR nMax);
+
+               ///
+               ///\8ds\82Ì\8d\82\82³\82ð\96â\82¢\8d\87\82í\82¹
+               ///
+               VOID CalcItemHeight(CChatData &chatData);
+
+               ///
+               ///\91I\91ð\8ds\82ð\95\\8e¦
+               ///
+               VOID ShowCurSel();
+
+               ///
+               ///\83`\83\83\83b\83g\95\8e\9a\97ñ\95\\8e¦\97Ì\88æ\8cv\8eZ
+               ///
+               VOID CalcChatRect(const CDC &cdc,RECT &rc,const CNLiteString &str);
+
+
+               //\83v\83\89\83C\83x\81[\83g\8aÖ\90\94
+       private:
+
+               ///
+               ///\83A\83C\83e\83\80\95`\89æ
+               ///
+               VOID DrawItem(CDC &dc,const RECT &rc,const RECT *headerRect,CChatData &chatData);
+
+               ///
+               ///\95`\89æ\8d\82\82³\82ð\83\8a\83Z\83b\83g
+               ///
+               VOID ResetViewSellHeight();
 
 
+
+
+               ///
+               ///\83N\83\8a\83b\83N\82µ\82½\8ds\82ð\8cv\8eZ
+               ///
+               CCommentList::iterator CalcClickLine(INT_PTR height);
+
+               ///
+               ///\83\86\81[\83U\96¼\82©\83R\83\81\94Ô\8fã\82©\82Ì\94»\92è
+               ///
+               BOOL IsOnNoOrUserName(UINT_PTR index,const POINT &point);
+
+               //\83\81\83b\83Z\81[\83W\83n\83\93\83h\83\89
+       private:
+
+               ///
+               ///\83E\83B\83\93\83h\83E\8dì\90¬\8e\9e\82Ì\8f\88\97\9d
+               ///
+               LRESULT OnCreate(LPCREATESTRUCT lpCreateStruct);
+
+               ///
+               ///\83}\83E\83X\83N\83\8a\83b\83N\8e\9e\82Ì\8f\88\97\9d
+               ///
+               VOID OnLButtonDown(UINT wParam, _WTYPES_NS::CPoint &point);
+
+               ///
+               ///\94j\8aü\8e\9e\82Ì\8f\88\97\9d
+               ///
+               VOID OnDestroy();
+
+               ///
+               ///\95`\89æ\8f\88\97\9d
+               ///
+               VOID OnPaint(HDC hdc);
+
+               ///
+               ///\83R\83\93\83g\83\8d\81[\83\8b\83Z\83b\83g\8f\88\97\9d
+               ///
+               LRESULT OnSetCtrol(UINT uMsg,WPARAM wparam,LPARAM lparam);
+
+               ///
+               ///\83T\83C\83Y\95Ï\8dX
+               ///
+               VOID OnSize(UINT wParam, _WTYPES_NS::CSize &windowSize);
+
+               ///
+               ///\83}\83E\83X\83_\83u\83\8b\83N\83\8a\83b\83N\8e\9e\82Ì\8f\88\97\9d
+               ///
+               VOID OnLButtonDblClk(UINT wParam, _WTYPES_NS::CPoint &point);
+
+               ///
+               ///\94w\8ci\93h\82è\82Â\82Ô\82µ
+               ///
+               LRESULT OnEraseBkGnd(HDC lparam);
+
+               ///
+               ///\83}\83E\83X\83z\83C\81[\83\8b
+               ///
+               LRESULT OnMouseWheel(UINT loWparam,SHORT hiWparam,CPoint &point);
+
+               ///
+               ///\83L\81[\89\9f\89º\8e\9e\82Ì\8f\88\97\9d
+               ///
+               VOID OnKeyDown(TCHAR vKey,UINT loLParam,UINT hiLParam);
+
+               ///
+               ///\83J\81[\83\\83\8b\95Ï\8dX\8f\88\97\9d
+               ///
+               LRESULT OnSetCursor(HWND wparam,UINT loLparam,UINT hiLparam);
+
+               ///
+               ///\83`\83\83\83b\83g\83R\83\93\83g\83\8d\81[\83\8b\92Ê\92m
+               ///
+               LRESULT OnChatControlNortify(LPNMHDR lParam);
+
+
+               ///
+               ///\83Z\83\8b\82Ì\83T\83C\83Y\82ð\8cv\8eZ
+               ///
+               LRESULT OnCalcSellSize(LPNMHDR lParam);
+
+       };
+
+       ///
+       ///\83R\83\81\83\93\83g\83r\83\85\81[\83N\83\89\83X
+       ///
+       class CCommentView:public CWindowImpl<CCommentView>{
+               friend CChatChildCtrls;
+               friend CCommentListWindow;                                              //\83t\83\8c\83\93\83h\90é\8c¾
+               friend CChatChildCtrlsList;
+               friend CChatChildCtrls;
+               friend CChatReadEdit;
                //\83v\83\89\83C\83x\81[\83g\8c^\81E\83N\83\89\83X\92è\8b`
        private:
 
+               //\83w\83b\83_\81[\8fî\95ñ\8ai\94[\97p\83I\83u\83W\83F\83N\83g
                typedef struct{
 
                        LPTSTR *columns;
@@ -28,57 +359,31 @@ namespace nlite{
 
                }HEADERSINFO,*LPHEADERSINFO;
 
-               
-               
 
-               class CSubCommentListBox:public CDoubleBufferWindowImpl<CSubCommentListBox>{
 
-                       //\83v\83\89\83C\83x\81[\83g\83\81\83\93\83o
-               private:
-                       CDC m_MemoryDC;
-                       CBitmap m_Bitmap;
-                       LPDWORD lpPixel;
 
-               public:
 
 
-                       BEGIN_MSG_MAP_EX(CSubCommentListBox)
-                               MSG_WM_PAINT(OnPaint)
-                               CHAIN_MSG_MAP(CDoubleBufferWindowImpl<CSubCommentListBox>)
-                       END_MSG_MAP()
+               //\83\81\83\93\83o\90é\8c¾
+       private:
+
+               CHeaderCtrl m_header;                                           //\83w\83b\83_\81[\83R\83\93\83g\83\8d\81[\83\8b
+               CCommentListWindow  m_commentListWindow;        //\83R\83\81\83\93\83g\83\8a\83X\83g\83E\83B\83\93\83h\83E
+               CNicoLiveStream &stream;                                        //\95ú\91\97\83I\83u\83W\83F\83N\83g
+               GeneralProperty generalProperty;                        //\88ê\94Ê\90Ý\92è
+               CCommentList commentlist;                                       //\83R\83\81\83\93\83g\83\8a\83X\83g
+               CommentViewProperty viewproperty;                       //\95\\8e¦\83v\83\8d\83p\83e\83B
+               HFONT hHeaderFontNew;                                           //\83w\83b\83_\81[\83t\83H\83\93\83g
+               CNicoVideoAuth &refAuth;                                        //\83j\83R\83j\83R\90\95ú\91\97\94F\8fØ\83I\83u\83W\83F\83N\83g\8eQ\8fÆ
+               CChatChildCtrlsList chatChildCtrlsList;         //\8eq\83E\83B\83\93\83h\83E\83\8a\83X\83g
+
+
+
+
 
-                       VOID CreateMemoryDC();
-                       
-               private:
-                       VOID OnPaint(HDC hdc);
-                       
-                       
 
-               };
 
-               //\83\81\83\93\83o\90é\8c¾
-       private:
 
-               CHeaderCtrl m_header;
-               CListBox  m_listBox;
-               CComAutoCriticalSection ccs;
-               CStreamStatus streamStatus;
-               CCommentList commentlist;
-               CommentViewProperty viewproperty;
-               CBrush bkBurushNomal;
-               CBrush bkBurushSelect;
-               CPen outLinePenNomal;
-               CPen outLinePenSelect;
-               CPen colLinePen;
-               HFONT hHeaderFontNew;
-               SCROLLINFO hScrollInfo;
-//             CSubCommentListBox m_subListBox;
-
-
-               
-               
-
-               
        public:
 
                enum{
@@ -89,52 +394,54 @@ namespace nlite{
                        INFO
 
                };
-               
+
                ///
                ///\83R\83\93\83X\83g\83\89\83N\83^
                ///
-               CCommentView();
-               
+               CCommentView(CNicoLiveStream &stream,CNicoVideoAuth &refAuth);
+
                ///
                ///\83f\83X\83g\83\89\83N\83^
                ///
                ~CCommentView();
 
-               
+               ///
+               ///\83E\83B\83\93\83h\83E\8dX\90V
+               ///
+               VOID UpDateUI();
+
 
                //
                //\83E\83B\83\93\83h\83E\83N\83\89\83X\90é\8c¾
                //
                DECLARE_WND_CLASS_EX(commentViewConstant::NLITE_COMMENTVIEW,0,COLOR_BACKGROUND)
-               
+
                //
                //\83\81\83b\83Z\81[\83W\83}\83b\83v
                //
                BEGIN_MSG_MAP(CCommentView)
                        MSG_WM_CREATE(OnCreate)
                        MSG_WM_DESTROY(OnDestroy)                       
-                       MSG_WM_DRAWITEM(OnDrawItem)
-                       MSG_WM_MEASUREITEM(OnMeasureItem)
-                       MSG_WM_SIZING(OnSizing)
                        MSG_WM_SIZE(OnSize)
-                       MSG_WM_PAINT(OnPaint)
                        MSG_WM_HSCROLL(OnHScroll)
+                       MSG_WM_VSCROLL(OnVScroll)
+                       MESSAGE_HANDLER_EX(UM_CLICK_CHATNO,OnClickChatNo)
+                       MESSAGE_HANDLER_EX(UM_CLICK_USERNAME,OnClickUserName)
                        MSG_WM_ERASEBKGND(OnEraseBkgnd)
-                       COMMAND_CODE_HANDLER_EX(LBN_DBLCLK,OnListBoxDoubleClick)
-                       NOTIFY_CODE_HANDLER_EX(HDN_ITEMCHANGED  ,OnheaderItemChanged)
-                       NOTIFY_CODE_HANDLER_EX(HDN_ENDDRAG ,OnHeaderEndDrag)
+                       NOTIFY_CODE_HANDLER_EX(HDN_ENDTRACK   ,OnHeaderEndTrack)
+                       NOTIFY_CODE_HANDLER_EX(HDN_ENDDRAG  ,OnHeaderEndDrag)
                END_MSG_MAP()
 
                ///
                ///\83v\83\8d\83p\83e\83B\90Ý\92è
                ///
-               VOID SetProperty(CommentViewProperty &setProperty);
+               VOID SetProperty(const CommentViewProperty &setProperty,const GeneralProperty &in_generalProperty);
 
                ///
                ///\83v\83\8d\83p\83e\83B\8eæ\93¾
                ///
                CommentViewProperty &GetProperty();
-               
+
                ///
                ///\83E\83B\83\93\83h\83E\8dì\90¬
                ///
@@ -151,11 +458,6 @@ namespace nlite{
                VOID OnConnect();
 
                ///
-               ///\83j\83R\90\82Ì\83X\83e\81[\83^\83X\90Ý\92è
-               ///
-               VOID SetStreamStatus(StreamStatus &st);
-               
-               ///
                ///\83`\83\83\83b\83g\83R\83\81\83\93\83g\8eó\90M\8e\9e\82Ì\8f\88\97\9d
                ///
                VOID OnChatReceve(NicoLiveChat_P chat,UINT_PTR count);
@@ -164,28 +466,18 @@ namespace nlite{
                ///\83`\83\83\83b\83g\83R\83\81\83\93\83g\8eó\90M\8am\92è\8f\88\97\9d
                ///
                VOID OnChatReceveSettle(UINT_PTR commentCount,UINT_PTR commentCountSum);
-               
+
 
 
                //\83v\83\89\83C\83x\81[\83g\8aÖ\90\94
        private:
-               
-               ///
-               ///\83N\83\8a\83e\83B\83J\83\8b\83Z\83N\83V\83\87\83\93\83\8d\83b\83N
-               ///
-               VOID Lock();
-
-               ///
-               ///\83N\83\8a\83e\83B\83J\83\8b\83Z\83N\83V\83\87\83\93\83\8d\83b\83N\89ð\8f\9c
-               ///
-               VOID Unlock();
 
 
                ///
                ///\83w\83b\83_\92Ç\89Á
                ///
                VOID AddHeader(LPHEADERSINFO infos);
-               
+
                ///
                ///\83w\83b\83_\82Ì\89¡\95\9d\8c\88\92è
                ///
@@ -199,38 +491,42 @@ namespace nlite{
 
                //\83E\83B\83\93\83h\83E\83\81\83b\83Z\81[\83W\83n\83\93\83h\83\89
        private:
-               
+
+
+
                ///
-               ///\94w\8ci\95`\89æ\8f\88\97\9d
+               ///\83T\83C\83Y\95Ï\8dX\8cã\8f\88\97\9d
                ///
-               VOID OnPaint(HDC wParam);
+               LRESULT OnSize(UINT wParam,SIZE lParam);
+
+
 
                ///
-               ///\83T\83C\83Y\95Ï\8dX\92\86\8f\88\97\9d
+               ///\83r\83\85\81[\83A\82É\95\\8e¦\82³\82ê\82Ä\82¢\82é\83R\83\81\94Ô\82ª\83N\83\8a\83b\83N\82³\82ê\82½\8e\9e\82Ì\8f\88\97\9d
                ///
-               VOID OnSizing(UINT wParam,LPRECT lParam);
+               LRESULT OnClickChatNo(UINT uMsg,WPARAM wParam,LPARAM lParam);
+
 
                ///
-               ///\83T\83C\83Y\95Ï\8dX\8cã\8f\88\97\9d
+               ///\83r\83\85\81[\83A\82É\95\\8e¦\82³\82ê\82Ä\82¢\82é\83\86\81[\83U\96¼\82ª\83N\83\8a\83b\83N\82³\82ê\82½\8e\9e\82Ì\8f\88\97\9d
                ///
-               LRESULT OnSize(UINT wParam,SIZE lParam);
+               LRESULT OnClickUserName(UINT uMsg,WPARAM wParam,LPARAM lParam);
 
-               
 
                ///
                ///\94w\8ci\93h\82è\82Â\82Ô\82µ\8f\88\97\9d
                ///
                LRESULT OnEraseBkgnd(HDC wParam);
-               
+
                ///
                ///\83E\83B\83\93\83h\83E\94j\8aü\8e\9e\82Ì\8f\88\97\9d
                ///
                VOID OnDestroy();
-               
+
                ///
                ///\83w\83b\83_\83A\83C\83e\83\80\95Ï\8dX\8e\9e\8f\88\97\9d
                ///
-               LRESULT OnheaderItemChanged(LPNMHDR lParam);
+               LRESULT OnHeaderEndTrack(LPNMHDR lParam);
 
 
                ///
@@ -238,33 +534,23 @@ namespace nlite{
                ///
                LRESULT OnHeaderEndDrag(LPNMHDR lParam);
 
-               ///
-               ///\83\8a\83X\83g\83{\83b\83N\83X\83_\83u\83\8b\83N\83\8a\83b\83N\8e\9e\82Ì\8f\88\97\9d
-               ///
-               LRESULT OnListBoxDoubleClick(UINT uNotifyCode, int nID, CWindow wndCtl);
+
 
                ///
                ///\89¡\83X\83N\83\8d\81[\83\8b\8e\9e\82Ì\8f\88\97\9d
                ///
                VOID OnHScroll(INT_PTR loWParam,SHORT hiWParam,HWND lParam);
-               
 
                ///
-               ///\8dì\90¬\8e\9e\82Ì\8f\88\97\9d
+               ///\8fc\83X\83N\83\8d\81[\83\8b\8e\9e\82Ì\8f\88\97\9d
                ///
-               LRESULT OnCreate(LPCREATESTRUCT lpcs);
-               
-               ///
-               ///\88ê\8ds\82²\82Æ\82Ì\8d\82\82³\82ð\96â\82¢\8d\87\82í\82¹
-               ///
-               VOID OnMeasureItem(UINT wParam, LPMEASUREITEMSTRUCT lParam);
-               
+               VOID OnVScroll(INT_PTR loWParam,SHORT hiWParam,HWND lParam);
+
                ///
-               ///\83\8a\83X\83g\83A\83C\83e\83\80\95`\89æ\8f\88\97\9d
+               ///\8dì\90¬\8e\9e\82Ì\8f\88\97\9d
                ///
-               VOID OnDrawItem(UINT wParam,LPDRAWITEMSTRUCT lParam);
-
+               LRESULT OnCreate(LPCREATESTRUCT lpcs);
 
        };
-       
+
 }