From 9c396bdd3dc35d21cc3af950ac328a735e8ea999 Mon Sep 17 00:00:00 2001 From: qwerty2501 Date: Tue, 10 Jan 2012 16:53:13 +0900 Subject: [PATCH] 2012/01/10 16:53:13 --- nlite.suo | Bin 155136 -> 153600 bytes nlite/nlite_commentview.cpp | 35 +++++++++++++++++++++++++++++++---- nlite/nlite_commentview.h | 28 +++++++++++++++++++++++++++- 3 files changed, 58 insertions(+), 5 deletions(-) diff --git a/nlite.suo b/nlite.suo index ee329b036b2c2eecef4524e1f5b419d67cbd18be..ef9bbd06998cdb071d2cf33b01a79ffebaca828f 100644 GIT binary patch delta 5634 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 y(IENVqv|7MEqvBgt`j_i^1BE53gZ>9fw3|o( delta 4441 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 QV;o&dkTV00#c~Jy3oii_D*ylh diff --git a/nlite/nlite_commentview.cpp b/nlite/nlite_commentview.cpp index eaab104..1be0df7 100644 --- a/nlite/nlite_commentview.cpp +++ b/nlite/nlite_commentview.cpp @@ -213,6 +213,7 @@ VOID CCommentView::OnChatReceve(NicoLiveChat_P chat,UINT_PTR count){ Lock(); + m_listBox.SetRedraw(FALSE); commentlist.OnChatReceve(chat,count); m_listBox.AddString((LPCTSTR)&commentlist.back()); @@ -221,8 +222,9 @@ VOID CCommentView::OnChatReceve(NicoLiveChat_P chat,UINT_PTR count){ m_listBox.GetScrollInfo(SB_VERT,&scrollInfo); scrollInfo.nPos++; + if(scrollInfo.nPos + (int)scrollInfo.nPage >= scrollInfo.nMax == TRUE){ - m_listBox.SendMessageW(WM_VSCROLL,SB_BOTTOM,0); + m_listBox.SendMessageW(WM_VSCROLL,MAKEWORD(SB_BOTTOM,0),0); } Unlock(); } @@ -602,10 +604,12 @@ VOID CCommentView::OnHScroll(INT_PTR loWParam,SHORT hiWParam,HWND lParam){ LRESULT CCommentView::OnCreate(LPCREATESTRUCT lpcs){ m_header.Create(m_hWnd,0,WC_HEADER,WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | HDS_BUTTONS | HDS_HOTTRACK |HDS_DRAGDROP | HDS_FULLDRAG ,0,commentViewConstant::HEADER_ID); - m_listBox.Create(m_hWnd,0,WC_LISTBOX,WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_CLIPCHILDREN | LBS_OWNERDRAWVARIABLE | LBS_NOTIFY | LBS_NOREDRAW ,0,commentViewConstant::LISTBOX_ID); + m_listBox.Create(m_hWnd,0,WC_LISTBOX,WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_CLIPCHILDREN | LBS_OWNERDRAWVARIABLE | LBS_NOTIFY | LBS_NOREDRAW , 0,commentViewConstant::LISTBOX_ID); m_listBox.SetFont(AtlGetDefaultGuiFont()); - - + /* + m_subListBox.SubclassWindow(m_listBox); + m_subListBox.CreateMemoryDC(); + */ return 0; } @@ -663,3 +667,26 @@ VOID CCommentView::DecisionHorzSize(){ //ƒRƒƒ“ƒgƒrƒ…[ƒNƒ‰ƒX“à•”ƒŠƒXƒgƒNƒ‰ƒX //////////////////////////////////////////////////////////////////// + +VOID CCommentView::CSubCommentListBox::OnPaint(HDC hdc){ + + PAINTSTRUCT ps; + this->BeginPaint(&ps); + + + this->EndPaint(&ps); + + return; +} + + + +VOID CCommentView::CSubCommentListBox::CreateMemoryDC(){ + HDC hdc = this->GetDC(); + m_MemoryDC.CreateCompatibleDC(hdc); + m_Bitmap.CreateCompatibleBitmap(m_MemoryDC,300,200); + + ReleaseDC(hdc); + return; +} + \ No newline at end of file diff --git a/nlite/nlite_commentview.h b/nlite/nlite_commentview.h index 4645391..9f78e9f 100644 --- a/nlite/nlite_commentview.h +++ b/nlite/nlite_commentview.h @@ -29,6 +29,32 @@ namespace nlite{ }HEADERSINFO,*LPHEADERSINFO; + + + class CSubCommentListBox:public CDoubleBufferWindowImpl{ + + //ƒvƒ‰ƒCƒx[ƒgƒƒ“ƒo + private: + CDC m_MemoryDC; + CBitmap m_Bitmap; + LPDWORD lpPixel; + + public: + + + BEGIN_MSG_MAP_EX(CSubCommentListBox) + MSG_WM_PAINT(OnPaint) + CHAIN_MSG_MAP(CDoubleBufferWindowImpl) + END_MSG_MAP() + + VOID CreateMemoryDC(); + + private: + VOID OnPaint(HDC hdc); + + + + }; //ƒƒ“ƒoéŒ¾ private: @@ -46,7 +72,7 @@ namespace nlite{ CPen colLinePen; HFONT hHeaderFontNew; SCROLLINFO hScrollInfo; - +// CSubCommentListBox m_subListBox; -- 2.11.0