From 6aa9adcb649b0be09b71e78a10dc477a78dee2c0 Mon Sep 17 00:00:00 2001 From: qwerty2501 Date: Wed, 18 Jan 2012 23:37:27 +0900 Subject: [PATCH] 2012/01/18 23:37:27 --- nlite.suo | Bin 65536 -> 59904 bytes nlite/nlite_commentWrite.cpp | 110 +++++++++++++++++++++++++++++++++---------- nlite/nlite_commentWrite.h | 8 +++- nlite/nlite_commentview.cpp | 6 ++- 4 files changed, 95 insertions(+), 29 deletions(-) diff --git a/nlite.suo b/nlite.suo index 51fc55f8f8a68f1d7c4c3f4de29ce6e945600695..6f6cafe505a4380fe4e8f8874ee128d30d07084a 100644 GIT binary patch delta 3616 zcmai%e^is#8OQHU-h_Y=A|e8!3y2IAT@Zhxk_1FR6jb~Lh**DBL_moZC}=DWDvH58 zbOoyrQgp3a1zxsV=WNuT&9+v-qg{7Sk8?dc+y2-*?HR|`&enZzB#NZx>~cPN-}}7Z z`}^MKxmc}|^^UT0x^qQqXl7hsmR~)-Q~^)cW-bd?A9Wxls?f+ z#H$L>&-O-;LGmH%aEZ!Q8T3(rf%;X)rA&^GO=^o?G@T6PLXZL$0bxtSQ*@VNe5UJ! zVJ$K_AWf7k@@dlL{P(uL=bO96hOc()sV=nI$P{dljhY&TFOPvv5`_nvm;3#CmGqH> zw*3!qf2s&b_hlO)aL?3$NHrRUTKQ4H89rW2RuQIW0|vZ-?LbZgN|^$;hRRrT$PIceq=t3Y*G%+;5R%%=|ds_K~4Zq6G&v^k9s(JN!DQ z1>5lEZ*kRA0{lt;1<#Od;ZiGIgwu;7_P8r zsP}yp>7xc)JHM1D_xv=v9+@;yPN)oY>*R3mnX0F?tsg&`tLenKIC6Fl*1Bu7UkK)j z6d{dNBzu*@x8Q1Y-IJQ|B6e4@Ye?TxM$J)pL^@Z_zRK3lJJ!kIz`%O+=9doIxVLttJ-0|HIp4e%@QW)XgxK?^tr-U7$L3D64KfCIDxCwLolfRo@9_%(P3ybDf)GvF+E z51a$%K_}<}KXxrk;8dVbp#p<}ZrhGfV_6XPmlh+yg@DoiZKH6u=i_xRqbrqF$OwJC$XF_{o#)cYicV)DY|tBVSU?RypdTmqH? z;f}KKTn3hd6(Ad|1gpSmum-FJIUpD0fps7stOo^P19%B+1e?HSumx-dFN1BM5Nzix zn~A-)0~CW2PzrW}U7!qDz;5sg*aONz1*im~!&P`zgS}uMuyU+d!!JfW{Noq;|41L$ zQt#&()2bhI`^kyfS2zM8ukFHOJokm+)GHgPAZ`_WV;C>Mmv}P9kE3^952CN@w!EOd zYR|E#g(tkKr0*pxT23ro4~SJwg6TVYl=G^34c?{)P-Si{S@WVtzj)B&@KGdj&}+z* zXT(9Dhx{T0y`^9|GqDV|lC5yRuV+b!$xHAjzGkzh`3%^WLzMkF< z`NMTms4ovjWx`u|&XwH%O14&7_1vPN-8GpSajD37ZuF7+YqScAG-SzH^;w)ZVOng| zds{+P^XSB(?G)6!m-G!$9FCxM23AEw)h<20CXlJ&H*f=AB`^}wzZM|Z7uTCkUxiJ_fUtgj*gv*MrS6=zi*nNK%q|eUfE2At1sg4+R>MA zc%yp$%&(KKS>m+_w(F?%L=1{fq7ls}$oCZ$j3DG*=i^qhrHK@;S>gw>!O zBaGrAG$fwP5L%>XU4%3Yd2wYMBAqF8NJ5&^eJWKcjYQ6~;;Mx>do@(CXCgUEBgO4b zl>ti+J$iSsv_c4RgOM$#%awF`QxNgl3+aAK5Lz39Z^8i&X>ArvA`R|XIP$_H50TCm zI;6o;;pDN(L#1~%?iastG|ftUE%H34hozEMCdwz9a*dWpUE0K`9s zP+W<<#DjN%r{)+4#pTsY?6rufS)8>IKPC2BM%(~|UkwyuMn~gjiM=knE+WF2^QWRJ z#)RL&E*rYcgD18a7hltf7jC!4p|@M>TLHHss(9+h+t+`%b?fARj76OYEia@bHkakW zzm~xT5|0X_aXrz_2a0Z2szwrB^c)1)ay^s#y8l5D?)jOy|Km%1g!-QyKYaiGmd414 z=-jQDewSnD%BP9WuO)kLvLyZ$b6@iy}J zlizH#JN^Fr?ODZVeBAn6E$z=ANuU2|hc8b@4J!w?Y5C%?l3q$mm+SBUmOJk$oDco} E2U|fOtN;K2 delta 3692 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 AzyJUM diff --git a/nlite/nlite_commentWrite.cpp b/nlite/nlite_commentWrite.cpp index cc5c3ee..1dbf9aa 100644 --- a/nlite/nlite_commentWrite.cpp +++ b/nlite/nlite_commentWrite.cpp @@ -18,34 +18,36 @@ const static UINT_PTR INIT_COMMENTWRITE_MAXLENGTH = 60; const ComentColor GENERALUSER_COMMENT_COLORLIST[] = { - {TEXT("white"),0xFFFFFF}, - {TEXT("red"),0xFF0000}, - {TEXT("pink"),0xFF8080}, - {TEXT("orange"),0xFFC000}, - {TEXT("yellow"),0xFFFF00}, - {TEXT("green"),0x00FF00}, - {TEXT("cyan"),0x00FFFF}, - {TEXT("blue"),0x0000FF}, - {TEXT("purple"),0xC000FF}, - {TEXT("black"),0x000000} + {TEXT("white"),RGB(0xFF,0xFF,0xFF)}, + {TEXT("red"),RGB(0xFF,0x00,0x00)}, + {TEXT("pink"),RGB(0xFF,0x80,0x80)}, + {TEXT("orange"),RGB(0xFF,0xC0,0x00)}, + {TEXT("yellow"),RGB(0xFF,0xFF,0x00)}, + {TEXT("green"),RGB(0x00,0xFF,0x00)}, + {TEXT("cyan"),RGB(0x00,0xFF,0xFF)}, + {TEXT("blue"),RGB(0x00,0x00,0xFF)}, + {TEXT("purple"),RGB(0xC0,0x00,0xFF)}, + {TEXT("black"),RGB(0x00,0x00,0x00)} }; const ComentColor PREMIUM_COMMENT_COLORLIST[] = { - {TEXT("white2"),0xCCCC99}, - {TEXT("red2"),0xCC0033}, - {TEXT("pink2"),0xFF33CC}, - {TEXT("orange2"),0xFF6600}, - {TEXT("yellow2"),0x999900}, - {TEXT("green2"),0x00CC66}, - {TEXT("cyan2"),0x00CCCC}, - {TEXT("blue2"),0x3399FF}, - {TEXT("purple2"),0x6633CC}, - {TEXT("black2"),0x666666} + {TEXT("white2"),RGB(0xCC,0xCC,0x99)}, + {TEXT("red2"),RGB(0xCC,0x00,0x33)}, + {TEXT("pink2"),RGB(0xFF,0x33,0xCC)}, + {TEXT("orange2"),RGB(0xFF,0x66,0x00)}, + {TEXT("yellow2"),RGB(0x99,0x99,0x00)}, + {TEXT("green2"),RGB(0x00,0xCC,0x66)}, + {TEXT("cyan2"),RGB(0x00,0xCC,0xCC)}, + {TEXT("blue2"),RGB(0x33,0x99,0xFF)}, + {TEXT("purple2"),RGB(0x66,0x33,0xCC)}, + {TEXT("black2"),RGB(0x66,0x66,0x66)} }; -static VOID addCommentColorList(CComboBox &combo,LPVOID * colorList,UINT_PTR length); +template +static VOID addItemList(CComboBox &combo,T * colorList,UINT_PTR length); -static VOID addCommentColorList(CComboBox &combo,LPVOID * colorList,UINT_PTR length){ +template +static VOID addItemList(CComboBox &combo,T * colorList,UINT_PTR length){ UINT_PTR startItemcount = combo.GetCount(); for(UINT_PTR index = startItemcount; index < length;index++){ @@ -69,13 +71,15 @@ LRESULT CCommentWriteWindow::OnCreate(LPCREATESTRUCT lpReateStruct){ commentPosBox.Create(m_hWnd,0,WC_COMBOBOX,WS_CHILD | WS_VISIBLE | CBS_DROPDOWNLIST ,0,COMMENTPOS_BOX); commentSizeBox.Create(m_hWnd,0,WC_COMBOBOX,WS_CHILD | WS_VISIBLE | CBS_DROPDOWNLIST,0,COMMENTSIZE_BOX); - commentColorBox.Create(m_hWnd,0,WC_COMBOBOX,WS_CHILD | WS_VISIBLE | CBS_DROPDOWNLIST ,0,COMMENTCOLOR_BOX); + commentColorBox.Create(m_hWnd,0,WC_COMBOBOX,WS_CHILD | WS_VISIBLE | CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED ,0,COMMENTCOLOR_BOX); anonymousButton.Create(m_hWnd,0,WC_BUTTON,WS_CHILD | WS_VISIBLE | BS_CHECKBOX,0,ANONYMOUS_BUTTON); comment.Create(m_hWnd,0,WC_EDIT,WS_CHILD | WS_VISIBLE | WS_BORDER,0,COMMENT_EDIT); commentWriteButton.Create(m_hWnd,0,WC_BUTTON,WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,0,COMMENTWRITE_BOTTON); commentPosBox.SetFont(AtlGetDefaultGuiFont()); commentSizeBox.SetFont(AtlGetDefaultGuiFont()); commentColorBox.SetFont(AtlGetDefaultGuiFont()); + + anonymousButton.SetWindowTextW(ANONYMOUS_BOTTONSTRING); anonymousButton.SetFont(AtlGetDefaultGuiFont()); comment.SetFont(AtlGetDefaultGuiFont()); @@ -84,9 +88,8 @@ LRESULT CCommentWriteWindow::OnCreate(LPCREATESTRUCT lpReateStruct){ commentWriteButton.SetFont(AtlGetDefaultGuiFont()); comment.SetWindowTextW(TEXT("")); - addCommentColorList(commentColorBox,(LPVOID*)GENERALUSER_COMMENT_COLORLIST,ARRAY_LENGTH(GENERALUSER_COMMENT_COLORLIST)); + addItemList(commentColorBox,GENERALUSER_COMMENT_COLORLIST,ARRAY_LENGTH(GENERALUSER_COMMENT_COLORLIST)); - commentColorBox.SetItemData(0,12); CFont font; font = AtlGetDefaultGuiFont(); CPaintDC pdc(*this); @@ -141,13 +144,68 @@ VOID CCommentWriteWindow::ChangeSize(SIZE &size){ //ƒTƒCƒY•ÏXˆ— commentPosBox.MoveWindow(COMMENTWRITEWINDOW_SEPARATEFSIZE.left,COMMENTWRITEWINDOW_SEPARATEFSIZE.top, commentPosBoxSize.cx,commentWriteHeight - (COMMENTWRITEWINDOW_SEPARATEFSIZE.top + COMMENTWRITEWINDOW_SEPARATEFSIZE.bottom),TRUE); commentSizeBox.MoveWindow((COMMENTWRITEWINDOW_SEPARATEFSIZE.left * 2) + COMMENTWRITEWINDOW_SEPARATEFSIZE.right + commentPosBoxSize.cx, COMMENTWRITEWINDOW_SEPARATEFSIZE.top, commentSizeBoxSize.cx,commentWriteHeight - (COMMENTWRITEWINDOW_SEPARATEFSIZE.top + COMMENTWRITEWINDOW_SEPARATEFSIZE.bottom),TRUE); - commentColorBox.MoveWindow((COMMENTWRITEWINDOW_SEPARATEFSIZE.left * 3) + (COMMENTWRITEWINDOW_SEPARATEFSIZE.right * 2) + commentPosBoxSize.cx + commentSizeBoxSize.cx,COMMENTWRITEWINDOW_SEPARATEFSIZE.top,commentColorBoxSize.cx,commentWriteHeight - (COMMENTWRITEWINDOW_SEPARATEFSIZE.top + COMMENTWRITEWINDOW_SEPARATEFSIZE.bottom),TRUE); + commentColorBox.MoveWindow((COMMENTWRITEWINDOW_SEPARATEFSIZE.left * 3) + (COMMENTWRITEWINDOW_SEPARATEFSIZE.right * 2) + commentPosBoxSize.cx + commentSizeBoxSize.cx,COMMENTWRITEWINDOW_SEPARATEFSIZE.top,commentColorBoxSize.cx, commentWriteHeight - (COMMENTWRITEWINDOW_SEPARATEFSIZE.top + COMMENTWRITEWINDOW_SEPARATEFSIZE.bottom),TRUE); anonymousButton.MoveWindow((COMMENTWRITEWINDOW_SEPARATEFSIZE.left * 4) + (COMMENTWRITEWINDOW_SEPARATEFSIZE.right * 3) + commentPosBoxSize.cx + commentSizeBoxSize.cx + commentColorBoxSize.cx ,COMMENTWRITEWINDOW_SEPARATEFSIZE.top,commentAnonymousButtonSize.cx,commentWriteHeight - (COMMENTWRITEWINDOW_SEPARATEFSIZE.top + COMMENTWRITEWINDOW_SEPARATEFSIZE.bottom),TRUE); comment.MoveWindow((COMMENTWRITEWINDOW_SEPARATEFSIZE.left * 5) + (COMMENTWRITEWINDOW_SEPARATEFSIZE.right * 4) + commentPosBoxSize.cx + commentSizeBoxSize.cx + commentColorBoxSize.cx + commentAnonymousButtonSize.cx,COMMENTWRITEWINDOW_SEPARATEFSIZE.top,size.cx - (COMMENTWRITEWINDOW_SEPARATEFSIZE.left + (COMMENTWRITEWINDOW_SEPARATEFSIZE.right * 2) + commentWriteButtonSize.cx + ((COMMENTWRITEWINDOW_SEPARATEFSIZE.left * 5) + (COMMENTWRITEWINDOW_SEPARATEFSIZE.right * 4) + commentPosBoxSize.cx + commentSizeBoxSize.cx + commentColorBoxSize.cx + commentAnonymousButtonSize.cx)),commentWriteHeight - (COMMENTWRITEWINDOW_SEPARATEFSIZE.top + COMMENTWRITEWINDOW_SEPARATEFSIZE.bottom),TRUE); commentWriteButton.MoveWindow(size.cx - (commentWriteButtonSize.cx),COMMENTWRITEWINDOW_SEPARATEFSIZE.top,commentWriteButtonSize.cx - COMMENTWRITEWINDOW_SEPARATEFSIZE.right,commentWriteHeight - (COMMENTWRITEWINDOW_SEPARATEFSIZE.top + COMMENTWRITEWINDOW_SEPARATEFSIZE.bottom),TRUE); return; } +VOID CCommentWriteWindow::OnDrawItem(UINT wParam,LPDRAWITEMSTRUCT lParam){ + + if(lParam->hwndItem == commentColorBox.m_hWnd && commentColorBox.GetCount() > 0){ + + UINT_PTR itemNo = 0; + if(lParam->itemID == ((UINT)-1)){ + INT_PTR curselNo = commentColorBox.GetCurSel(); + + itemNo = curselNo == -1 ? 0 : curselNo; + + } else { + itemNo = lParam->itemID; + + } + CDCHandle dcHandle = lParam->hDC; + + ComentColor *commentColor = (ComentColor *)commentColorBox.GetItemDataPtr(itemNo); + + + + CBrush brush; + CPen cpen; + + brush.CreateSolidBrush(commentColor->color); + + dcHandle.SelectBrush(brush); + dcHandle.SelectPen((HPEN)::GetStockObject(BLACK_PEN)); + dcHandle.Rectangle(lParam->rcItem.left,lParam->rcItem.top,lParam->rcItem.right,lParam->rcItem.bottom); + + } + + return; +} + +VOID CCommentWriteWindow::OnMeasureItem(UINT wParam,LPMEASUREITEMSTRUCT lParam){ + + switch(lParam->CtlID){ + case COMMENTCOLOR_BOX: + { + SIZE itemSize; + CPaintDC pdc(*this); + pdc.SelectFont(AtlGetDefaultGuiFont()); + LPCTSTR sample = TEXT(" "); + ::GetTextExtentPoint32(pdc,sample,_tcslen(sample),&itemSize); + lParam->itemHeight = itemSize.cy; + + } + break; + + } + + + + return; +} } \ No newline at end of file diff --git a/nlite/nlite_commentWrite.h b/nlite/nlite_commentWrite.h index 0bfef79..e113abf 100644 --- a/nlite/nlite_commentWrite.h +++ b/nlite/nlite_commentWrite.h @@ -13,7 +13,7 @@ namespace nlite{ /// ///ˆê”ʉïˆõƒRƒƒ“ƒgFƒŠƒXƒg /// - extern const ComentColor GENERALUSER_COMMENT_COLORLIST[]; + extern const ComentColor GENERALUSER_COMMENT_COLORLIST[]; /// ///ƒvƒŒƒ~ƒAƒ€‰ïˆõƒRƒƒ“ƒgFƒŠƒXƒg @@ -57,6 +57,8 @@ namespace nlite{ MSG_WM_SIZING(OnSizing) MSG_WM_PAINT(OnPaint) MSG_WM_SIZE(OnSize) + MSG_WM_DRAWITEM(OnDrawItem) + MSG_WM_MEASUREITEM(OnMeasureItem) END_MSG_MAP() @@ -79,6 +81,10 @@ namespace nlite{ VOID ChangeSize(SIZE &size); + VOID OnDrawItem(UINT wParam,LPDRAWITEMSTRUCT lParam); + + VOID OnMeasureItem(UINT wParam,LPMEASUREITEMSTRUCT lParam); + }; } \ No newline at end of file diff --git a/nlite/nlite_commentview.cpp b/nlite/nlite_commentview.cpp index 2d17482..b20be69 100644 --- a/nlite/nlite_commentview.cpp +++ b/nlite/nlite_commentview.cpp @@ -550,8 +550,8 @@ VOID CCommentListWindow::OnPaint(HDC in_hdc){ RECT clientRect; - this->GetClientRect(&clientRect); - + self.GetClientRect(&clientRect); + clientRect.bottom -= commentViewConstant::HEADER_HAIGHT; this->GetWindowRect(&windowRect); windowRect.right -= windowRect.left; @@ -632,6 +632,8 @@ VOID CCommentListWindow::OnSize(UINT wParam, _WTYPES_NS::CSize &windowSize){ if(scrollFlag == TRUE){ self.SendMessageW(WM_VSCROLL,MAKELONG(SB_BOTTOM,0),0); } + + this->Invalidate(); return; } -- 2.11.0