#include "charlist.h" char g_CharInfoField[25][20] = { "CID", "Name", "Sex", "Hair", "Face", "Nationality", "Class", "Fame", "Mileage", "Guild", "Party", "Level", "Gold", "IP", "STR", "DEX", "CON", "INT", "WIS", "HP", "MP", "EXP" }; char g_Sex[2][7] = { "Male", "Female" }; CCharList::CCharList() { } CCharList::~CCharList() { } BEGIN_MESSAGE_MAP(CCharList, CListCtrl) //{{AFX_MSG_MAP(CUserList) ON_NOTIFY_REFLECT(NM_CUSTOMDRAW, OnCustomDraw) ON_NOTIFY_REFLECT(LVN_ENDLABELEDIT, OnEndLableEdit) ON_WM_LBUTTONDBLCLK() ON_WM_HSCROLL() ON_WM_VSCROLL() //}}AFX_MSG_MAP END_MESSAGE_MAP() void CCharList::OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult) { CListViewControl::OnCustomDraw(pNMHDR, pResult); } void CCharList::OnEndLableEdit(NMHDR* pNMHDR, LRESULT* pResult) { CListViewControl::OnEndLableEdit(pNMHDR, pResult); } void CCharList::OnLButtonDblClk(UINT nFlags, CPoint point) { CListViewControl::OnLButtonDblClk(nFlags, point); } void CCharList::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { // TODO: Add your message handler code here and/or call default CListViewControl::OnHScroll(nSBCode, nPos, pScrollBar); } void CCharList::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { // TODO: Add your message handler code here and/or call default CListViewControl::OnVScroll(nSBCode, nPos, pScrollBar); } //Interface//////////////////////////////////////////////////////////////////////////////////// // // SetColumn [ public ] // - Å×À̺í Ä÷³ ¼¼ÆÃ // // Parameter : // 1st : Ä÷³ Á¤º¸ // // Return: // ¼º°ø½Ã true // /////////////////////////////////////////////////////////////////////////////////////////////// bool CCharList::SetColumn(void) { DWORD ExStyle = LVS_EX_FLATSB | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES; SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE, 0, ExStyle); DWORD Style = GetWindowLong(m_hWnd, GWL_STYLE); Style |= LVS_EDITLABELS; if (!SetWindowLong(m_hWnd, GWL_STYLE, Style)) return false; CStringList StringList; // ij¸¯ÅÍ ¾ÆÀ̵ð SetColumnType(0, CT_NORMAL); InsertColumn(0, g_CharInfoField[0], LVCFMT_CENTER, 4 * 20 + 5); // À̸§ SetColumnType(1, CT_NORMAL); InsertColumn(1, g_CharInfoField[1], LVCFMT_CENTER, 130 ); // ¼ºº° SetColumnType(2, CT_COMBO); StringList.AddTail(g_Sex[0]); StringList.AddTail(g_Sex[1]); SetColumnStringList(2, StringList); InsertColumn(2, g_CharInfoField[2], LVCFMT_CENTER, 5 * 10); // ¸Ó¸® SetColumnType(3, CT_EDIT); InsertColumn(3, g_CharInfoField[3], LVCFMT_CENTER, 4 * 10); // ¾ó±¼ SetColumnType(4, CT_EDIT); InsertColumn(4, g_CharInfoField[4], LVCFMT_CENTER, 4 * 10); // Á¾Á· SetColumnType(5, CT_EDIT); InsertColumn(5, g_CharInfoField[5], LVCFMT_CENTER, 4 * 10); // Ŭ·¡½º SetColumnType(6, CT_EDIT); InsertColumn(6, g_CharInfoField[6], LVCFMT_CENTER, 6 * 10); // °øÇåµµ SetColumnType(7, CT_EDIT); InsertColumn(7, g_CharInfoField[7], LVCFMT_CENTER, 6 * 10); // ¸í¼º SetColumnType(8, CT_EDIT); InsertColumn(8, g_CharInfoField[8], LVCFMT_CENTER, 4 * 10); // ±æµå SetColumnType(9, CT_EDIT); InsertColumn(9, g_CharInfoField[9], LVCFMT_CENTER, 4 * 10); // ÆÄƼ SetColumnType(10, CT_EDIT); InsertColumn(10, g_CharInfoField[10], LVCFMT_CENTER, 4 * 10); // ·¹º§ SetColumnType(11, CT_EDIT); InsertColumn(11, g_CharInfoField[11], LVCFMT_CENTER, 4 * 10); // µ· SetColumnType(12, CT_EDIT); InsertColumn(12, g_CharInfoField[12], LVCFMT_CENTER, 8 * 10); // IP SetColumnType(13, CT_EDIT); InsertColumn(13, g_CharInfoField[13], LVCFMT_CENTER, 4 * 10); // STR SetColumnType(14, CT_EDIT); InsertColumn(14, g_CharInfoField[14], LVCFMT_CENTER, 4 * 10); // DEX SetColumnType(15, CT_EDIT); InsertColumn(15, g_CharInfoField[15], LVCFMT_CENTER, 4 * 10); // CON SetColumnType(16, CT_EDIT); InsertColumn(16, g_CharInfoField[16], LVCFMT_CENTER, 4 * 10); // INT SetColumnType(17, CT_EDIT); InsertColumn(17, g_CharInfoField[17], LVCFMT_CENTER, 4 * 10); // WIS SetColumnType(18, CT_EDIT); InsertColumn(18, g_CharInfoField[18], LVCFMT_CENTER, 4 * 10); // HP SetColumnType(19, CT_EDIT); InsertColumn(19, g_CharInfoField[19], LVCFMT_CENTER, 4 * 10); // MP SetColumnType(20, CT_EDIT); InsertColumn(20, g_CharInfoField[20], LVCFMT_CENTER, 4 * 10); // EXP SetColumnType(21, CT_EDIT); InsertColumn(21, g_CharInfoField[21], LVCFMT_CENTER, 6 * 10); return true; } //Interface//////////////////////////////////////////////////////////////////////////////////// // // AddUserRow [ public ] // - ÁÙ Ãß°¡ // // Parameter : // 1st : Ä÷³ Á¤º¸ // // Return: // ¼º°ø½Ã true // /////////////////////////////////////////////////////////////////////////////////////////////// bool CCharList::AddCharRow(LPCHAR_INFOST CharInfo_In) { // TODO : ÄÄÆÄÀÏ ¿¡·¯°¡ ³ª¼­ ÁÖ¼® ó¸®ÇصӴϴÙ. ÇÊ¿äÇϽŠºÐÀÌ ¼öÁ¤ÇØÁÖ¼¼¿ä. (2005-01-26 by ·Îµò) /* CString strItem; int Index; Index = GetItemCount(); // ij¸¯ÅÍ ¾ÆÀ̵ð strItem.Format("%d", CharInfo_In->UID); InsertItem(Index, strItem); // À̸§ strItem.Format("%s", CharInfo_In->Name); SetItemText(Index, 1, strItem); // ¼ºº° strItem.Format("%s", g_Sex[CharInfo_In->Sex - 1]); SetItemText(Index, 2, strItem); // ¸Ó¸® strItem.Format("%d", CharInfo_In->Hair); SetItemText(Index, 3, strItem); // ¾ó±¼ strItem.Format("%d", CharInfo_In->Face); SetItemText(Index, 4, strItem); // Á¾Á· strItem.Format("%d", CharInfo_In->Race); SetItemText(Index, 5, strItem); // Ŭ·¡½º strItem.Format("%d", CharInfo_In->Class); SetItemText(Index, 6, strItem); // ¸í¼º strItem.Format("%d", CharInfo_In->Fame); SetItemText(Index, 7, strItem); // ¸¶Àϸ®Áö strItem.Format("%d", CharInfo_In->Mileage); SetItemText(Index, 8, strItem); // ±æµå strItem.Format("%d", CharInfo_In->Guild); SetItemText(Index, 9, strItem); // ÆÄƼ strItem.Format("%d", CharInfo_In->Party); SetItemText(Index, 10, strItem); // ·¹º§ strItem.Format("%d", CharInfo_In->Level); SetItemText(Index, 11, strItem); // µ· strItem.Format("%d", CharInfo_In->Gold); SetItemText(Index, 12, strItem); // IP strItem.Format("%d", CharInfo_In->IP); SetItemText(Index, 13, strItem); // STR strItem.Format("%d", CharInfo_In->STR); SetItemText(Index, 14, strItem); // DEX strItem.Format("%d", CharInfo_In->DEX); SetItemText(Index, 15, strItem); // CON strItem.Format("%d", CharInfo_In->CON); SetItemText(Index, 16, strItem); // INT strItem.Format("%d", CharInfo_In->INT); SetItemText(Index, 17, strItem); // WIS strItem.Format("%d", CharInfo_In->WIS); SetItemText(Index, 18, strItem); // HP strItem.Format("%d", CharInfo_In->HP); SetItemText(Index, 19, strItem); // MP strItem.Format("%d", CharInfo_In->MP); SetItemText(Index, 20, strItem); // EXP strItem.Format("%d", CharInfo_In->Exp); SetItemText(Index, 21, strItem); */ return true; } bool CCharList::GetCharRow(unsigned long Item_In, LPCHAR_INFOST CharInfo_Out) { // TODO : ÄÄÆÄÀÏ ¿¡·¯°¡ ³ª¼­ ÁÖ¼® ó¸®ÇصӴϴÙ. ÇÊ¿äÇϽŠºÐÀÌ ¼öÁ¤ÇØÁÖ¼¼¿ä. (2005-01-26 by ·Îµò) /* int Counter = 0; char strItemText[256]; // ij¸¯ÅÍ ¾ÆÀ̵ð GetItemText(Item_In, 0, strItemText, 256); CharInfo_Out->UID = atoi(strItemText); // À̸§ GetItemText(Item_In, 1, strItemText, 256); strncpy(CharInfo_Out->Name, strItemText, 16); // ¼ºº° GetItemText(Item_In, 2, strItemText, 256); if(!strcmp(strItemText, g_Sex[0])) CharInfo_Out->Sex = 1; else CharInfo_Out->Sex = 2; // ¸Ó¸® GetItemText(Item_In, 3, strItemText, 256); CharInfo_Out->Hair = atoi(strItemText); // ¾ó±¼ GetItemText(Item_In, 4, strItemText, 256); CharInfo_Out->Face = atoi(strItemText); // Á¾Á· GetItemText(Item_In, 5, strItemText, 256); CharInfo_Out->Race = atoi(strItemText); // Ŭ·¡½º GetItemText(Item_In, 6, strItemText, 256); CharInfo_Out->Class = atoi(strItemText); // ¸í¼º GetItemText(Item_In, 7, strItemText, 256); CharInfo_Out->Fame = atoi(strItemText); // ¸¶Àϸ®Áö GetItemText(Item_In, 8, strItemText, 256); CharInfo_Out->Mileage = atoi(strItemText); // ±æµå GetItemText(Item_In, 9, strItemText, 256); CharInfo_Out->Guild = atoi(strItemText); // ÆÄƼ GetItemText(Item_In, 10, strItemText, 256); CharInfo_Out->Party = atoi(strItemText); // ·¹º§ GetItemText(Item_In, 11, strItemText, 256); CharInfo_Out->Level = atoi(strItemText); // µ· GetItemText(Item_In, 12, strItemText, 256); CharInfo_Out->Gold = atoi(strItemText); // IP GetItemText(Item_In, 13, strItemText, 256); CharInfo_Out->IP = atoi(strItemText); // STR GetItemText(Item_In, 14, strItemText, 256); CharInfo_Out->STR = atoi(strItemText); // DEX GetItemText(Item_In, 15, strItemText, 256); CharInfo_Out->DEX = atoi(strItemText); // CON GetItemText(Item_In, 16, strItemText, 256); CharInfo_Out->CON = atoi(strItemText); // INT GetItemText(Item_In, 17, strItemText, 256); CharInfo_Out->INT = atoi(strItemText); // WIS GetItemText(Item_In, 18, strItemText, 256); CharInfo_Out->WIS = atoi(strItemText); // HP GetItemText(Item_In, 19, strItemText, 256); CharInfo_Out->HP = atoi(strItemText); // MP GetItemText(Item_In, 20, strItemText, 256); CharInfo_Out->MP = atoi(strItemText); // EXP GetItemText(Item_In, 21, strItemText, 256); CharInfo_Out->Exp = atoi(strItemText); */ return true; }