From a371ae51e7ca01368de132348fe2eed5f8684339 Mon Sep 17 00:00:00 2001 From: qwerty2501 Date: Fri, 3 Feb 2012 21:07:50 +0900 Subject: [PATCH] =?utf8?q?=E3=82=B3=E3=83=A1=E7=95=AA=E3=80=81=E3=83=A6?= =?utf8?q?=E3=83=BC=E3=82=B6=E5=90=8D=E3=83=AA=E3=83=B3=E3=82=AF=E8=A1=A8?= =?utf8?q?=E7=A4=BA=E5=87=A6=E7=90=86=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- nlite.suo | Bin 148992 -> 146432 bytes nlite/nlite_commentview.cpp | 53 +++++++++++++++++++++++++++++++++++--------- nlite/nlite_commentview.h | 3 ++- 3 files changed, 44 insertions(+), 12 deletions(-) diff --git a/nlite.suo b/nlite.suo index 4752f1f8a65d02b30f3c8c30405f769896ea75d3..e3293b20c12f2b162e51a86e8d45814191d9627d 100644 GIT binary patch delta 4928 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 delta 5307 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 EU-iQvxBvhE diff --git a/nlite/nlite_commentview.cpp b/nlite/nlite_commentview.cpp index 5aa57bb..50acbd8 100644 --- a/nlite/nlite_commentview.cpp +++ b/nlite/nlite_commentview.cpp @@ -410,7 +410,7 @@ namespace nlite{ if(scrollFlag == TRUE){ - this->SendMessageW(WM_VSCROLL,MAKELONG(SB_BOTTOM,0),0); + this->m_commentListWindow.SendMessageW(WM_VSCROLL,MAKELONG(SB_BOTTOM,0),0); } INT_PTR itemCount = m_header.GetItemCount(); @@ -569,7 +569,9 @@ namespace nlite{ if(lParam->hwndFrom == m_header.m_hWnd){ - + LPNMHEADER pNMHeader = (LPNMHEADER) lParam; + this->m_header.SetItem(pNMHeader->iItem,pNMHeader->pitem); + m_commentListWindow.Invalidate(); this->m_commentListWindow.SendMessage(UM_COMMENTVIEW_SETCTRL,NULL,NULL); @@ -578,8 +580,21 @@ namespace nlite{ return 0; } + /* + LRESULT CCommentView::OnHeaderItemChanged(LPNMHDR lParam){ + + if(lParam->hwndFrom == m_header.m_hWnd){ + + m_commentListWindow.Invalidate(); + this->m_commentListWindow.SendMessage(UM_COMMENTVIEW_SETCTRL,NULL,NULL); + + + } + return 0; + } + */ VOID CCommentView::OnHScroll(INT_PTR loWParam,SHORT hiWParam,HWND lParam){ @@ -1260,14 +1275,16 @@ end: BOOL CCommentListWindow::IsOnNoOrUserName(UINT_PTR index,const POINT &point){ - POINT mousePoint = {0}; RECT rc = {0}; self.m_header.GetItemRect(index,&rc); BOOL rslt = FALSE; - - if((mousePoint.x >= rc.left && mousePoint.x <= rc.right) && (point.y < static_cast(viewSellHeight))){ + //dumpln(TEXT("index:%d"),index); + //dumpln(TEXT("rc.left:%d"),rc.left); + //dumpln(TEXT("rc.right:%d"),rc.right); + //dumpln(TEXT("point.x:%d"),point.x); + if((point.x >= rc.left && point.x <= rc.right) && (point.y < static_cast(viewSellHeight))){ INT_PTR heightsum = 0; auto clickData = self.commentlist.GetShortCut(); @@ -1281,15 +1298,29 @@ end: CDC cdc = this->GetDC(); rc.top = heightsum -= clickData->viewData.height; - SIZE stringSize; + RECT calcRect = {0}; //rc.bottom = rc.bottom; cdc.SelectFont(linkFont); - ::GetTextExtentPoint32(cdc,clickData->chatBuf,clickData->chatBuf.Length(),&stringSize); - //cdc.DrawTextW(clickData->chatBuf,clickData->chatBuf.Length(),&rc,DT_CALCRECT | DT_WORD_ELLIPSIS); - rc.bottom += stringSize.cy; - rc.right += stringSize.cx; + //::GetTextExtentPoint32(cdc,clickData->chatBuf,clickData->chatBuf.Length(),&stringSize); + + if(index == CCommentView::USERNAME){ + LPCTSTR viewStr = clickData->listenerData->userName.Length() == 0 ? clickData->listenerData->user_id : clickData->listenerData->userName; + cdc.DrawTextW(viewStr ,_tcslen(viewStr),&calcRect,DT_CALCRECT); + + } else if(index == CCommentView::NO){ + TCHAR viewStr[sizeof(UINT_PTR) * 8]; + _stprintf(viewStr,TEXT("%d"),clickData->no); + cdc.DrawTextW(viewStr,_tcslen(viewStr),&calcRect,DT_CALCRECT); + + } + rc.bottom = rc.top + calcRect.bottom - calcRect.top; + rc.right = rc.right > rc.left + calcRect.right - calcRect.left ? rc.left + calcRect.right - calcRect.left : rc.right; + + //dumpln(TEXT("stringSize.cy:%d"),stringSize.cy); + //dumpln(TEXT("stringSize.cx:%d"),stringSize.cx); + dumpln(TEXT("rc.left:%d"),rc.left); dumpln(TEXT("rc.right :%d"),rc.right); - rslt = point.y >= rc.top && point.y <= rc.bottom && point.x >= rc.left && point.x <= rc.right; + rslt = (point.y >= rc.top && point.y <= rc.bottom && point.x >= rc.left && point.x <= rc.right); break; diff --git a/nlite/nlite_commentview.h b/nlite/nlite_commentview.h index 8d15389..f7d31c2 100644 --- a/nlite/nlite_commentview.h +++ b/nlite/nlite_commentview.h @@ -387,7 +387,7 @@ namespace nlite{ MSG_WM_VSCROLL(OnVScroll) MSG_WM_ERASEBKGND(OnEraseBkgnd) NOTIFY_CODE_HANDLER_EX(HDN_ENDTRACK ,OnHeaderEndTrack) - NOTIFY_CODE_HANDLER_EX(HDN_ENDDRAG ,OnHeaderEndDrag) + NOTIFY_CODE_HANDLER_EX(HDN_ENDDRAG ,OnHeaderEndDrag) END_MSG_MAP() /// @@ -482,6 +482,7 @@ namespace nlite{ LRESULT OnHeaderEndDrag(LPNMHDR lParam); + /// ///‰¡ƒXƒNƒ[ƒ‹Žž‚̏ˆ— /// -- 2.11.0