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<typename T>
+static VOID addItemList(CComboBox &combo,T * colorList,UINT_PTR length);
-static VOID addCommentColorList(CComboBox &combo,LPVOID * colorList,UINT_PTR length){
+template<typename T>
+static VOID addItemList(CComboBox &combo,T * colorList,UINT_PTR length){
UINT_PTR startItemcount = combo.GetCount();
for(UINT_PTR index = startItemcount; index < length;index++){
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());
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);
//\83T\83C\83Y\95Ï\8dX\8f\88\97\9d
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