// UserList.cpp : implementation file // #include "stdafx.h" #include "AuthDBManager.h" #include "UserList.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CUserList CUserList::CUserList() { int Counter; char FieldName[256]; CAuthDBManagerApp* pAppWnd = (CAuthDBManagerApp*)AfxGetApp(); for(Counter = 0; Counter < 14; Counter++) { LoadString(pAppWnd->m_Language, IDS_F1 + Counter, FieldName, 256); strcpy(m_FieldName[Counter], FieldName); } for(Counter = 0; Counter < 2; Counter++) { LoadString(pAppWnd->m_Language, IDS_S1 + Counter, FieldName, 256); strcpy(m_Select[Counter], FieldName); } } CUserList::~CUserList() { } BEGIN_MESSAGE_MAP(CUserList, CListCtrl) //{{AFX_MSG_MAP(CUserList) ON_NOTIFY_REFLECT(NM_CUSTOMDRAW, OnCustomDraw) ON_WM_LBUTTONDBLCLK() ON_WM_HSCROLL() ON_WM_VSCROLL() //}}AFX_MSG_MAP END_MESSAGE_MAP() void CUserList::OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult) { CListViewControl::OnCustomDraw(pNMHDR, pResult); } void CUserList::OnLButtonDblClk(UINT nFlags, CPoint point) { CListViewControl::OnLButtonDblClk(nFlags, point); } void CUserList::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { // TODO: Add your message handler code here and/or call default CListViewControl::OnHScroll(nSBCode, nPos, pScrollBar); } void CUserList::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 CUserList::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; int IndexCounter = 0; SetColumnType(IndexCounter, CT_NORMAL); InsertColumn(IndexCounter, m_FieldName[IndexCounter++], LVCFMT_CENTER, 4 * 10); SetColumnType(IndexCounter, CT_EDIT); InsertColumn(IndexCounter, m_FieldName[IndexCounter++], LVCFMT_CENTER, 15 * 10); SetColumnType(IndexCounter, CT_EDIT); InsertColumn(IndexCounter, m_FieldName[IndexCounter++], LVCFMT_CENTER, 15 * 10); SetColumnType(IndexCounter, CT_EDIT); InsertColumn(IndexCounter, m_FieldName[IndexCounter++], LVCFMT_CENTER, 15 * 10); SetColumnType(IndexCounter, CT_COMBO); StringList.AddTail(m_Select[0]); StringList.AddTail(m_Select[1]); SetColumnStringList(IndexCounter, StringList); InsertColumn(IndexCounter, m_FieldName[IndexCounter++], LVCFMT_CENTER, 5 * 10); SetColumnType(IndexCounter, CT_EDIT); InsertColumn(IndexCounter, m_FieldName[IndexCounter++], LVCFMT_CENTER, 10 * 10); SetColumnType(IndexCounter, CT_EDIT); InsertColumn(IndexCounter, m_FieldName[IndexCounter++], LVCFMT_CENTER, 15 * 10); SetColumnType(IndexCounter, CT_EDIT); InsertColumn(IndexCounter, m_FieldName[IndexCounter++], LVCFMT_CENTER, 7 * 10); SetColumnType(IndexCounter, CT_EDIT); InsertColumn(IndexCounter, m_FieldName[IndexCounter++], LVCFMT_CENTER, 30 * 10); SetColumnType(IndexCounter, CT_EDIT); InsertColumn(IndexCounter, m_FieldName[IndexCounter++], LVCFMT_CENTER, 10 * 10); SetColumnType(IndexCounter, CT_EDIT); InsertColumn(IndexCounter, m_FieldName[IndexCounter++], LVCFMT_CENTER, 10 * 10); SetColumnType(IndexCounter, CT_EDIT); InsertColumn(IndexCounter, m_FieldName[IndexCounter++], LVCFMT_CENTER, 15 * 10); SetColumnType(IndexCounter, CT_EDIT); InsertColumn(IndexCounter, m_FieldName[IndexCounter++], LVCFMT_CENTER, 8 * 10); SetColumnType(IndexCounter, CT_EDIT); InsertColumn(IndexCounter, m_FieldName[IndexCounter++], LVCFMT_CENTER, 16 * 10); return true; } //Interface//////////////////////////////////////////////////////////////////////////////////// // // AddUserRow [ public ] // - ÁÙ Ãß°¡ // // Parameter : // 1st : Ä÷³ Á¤º¸ // // Return: // ¼º°ø½Ã true // /////////////////////////////////////////////////////////////////////////////////////////////// bool CUserList::AddUserRow(LPSELECT_AUTHUSER_TABLE UserTable_In) { CString strItem; int Counter = 1; int Index; Index = GetItemCount(); strItem.Format("%d", UserTable_In->UID); InsertItem(Index, strItem); strItem.Format("%s", UserTable_In->AuthID); SetItemText(Index, Counter++, strItem); strItem.Format("%s", UserTable_In->AuthPW); SetItemText(Index, Counter++, strItem); strItem.Format("%s", UserTable_In->Name); SetItemText(Index, Counter++, strItem); strItem.Format("%s", m_Select[UserTable_In->Sex]); SetItemText(Index, Counter++, strItem); strItem.Format("%s", UserTable_In->Birth); SetItemText(Index, Counter++, strItem); strItem.Format("%s", UserTable_In->IDNumber); SetItemText(Index, Counter++, strItem); strItem.Format("%s", UserTable_In->ZipCode); SetItemText(Index, Counter++, strItem); strItem.Format("%s", UserTable_In->Address); SetItemText(Index, Counter++, strItem); strItem.Format("%s", UserTable_In->Mobile); SetItemText(Index, Counter++, strItem); strItem.Format("%s", UserTable_In->Phone); SetItemText(Index, Counter++, strItem); strItem.Format("%s", UserTable_In->Email); SetItemText(Index, Counter++, strItem); strItem.Format("%s", UserTable_In->Job); SetItemText(Index, Counter++, strItem); strItem.Format("%04d/%02d/%02d %02d:%02d:%02d", UserTable_In->Reg_Date.Year, UserTable_In->Reg_Date.Month, UserTable_In->Reg_Date.Day, UserTable_In->Reg_Date.Hour, UserTable_In->Reg_Date.Minute, UserTable_In->Reg_Date.Second); SetItemText(Index, Counter++, strItem); return true; } bool CUserList::GetUserRow(unsigned long Item_In, LPUPDATE_AUTHUSER_TABLE Table_Out) { int Counter = 0; char strItemText[256]; CString DateText, YearText, MonthText, DayText, HourText, MinuteText, SecondText; GetItemText(Item_In, Counter++, strItemText, 256); Table_Out->UID = atoi(strItemText); GetItemText(Item_In, Counter++, strItemText, 256); strncpy(Table_Out->AuthID, strItemText, 16); GetItemText(Item_In, Counter++, strItemText, 256); strncpy(Table_Out->AuthPW, strItemText, 16); GetItemText(Item_In, Counter++, strItemText, 256); strncpy(Table_Out->Name, strItemText, 16); GetItemText(Item_In, Counter++, strItemText, 256); if(!strcmp(strItemText, m_Select[0])) Table_Out->Sex = 0; else Table_Out->Sex = 1; GetItemText(Item_In, Counter++, strItemText, 256); strncpy(Table_Out->Birth, strItemText, 20); GetItemText(Item_In, Counter++, strItemText, 256); strncpy(Table_Out->IDNumber, strItemText, 15); GetItemText(Item_In, Counter++, strItemText, 256); strncpy(Table_Out->ZipCode, strItemText, 12); GetItemText(Item_In, Counter++, strItemText, 256); strncpy(Table_Out->Address, strItemText, 80); GetItemText(Item_In, Counter++, strItemText, 256); strncpy(Table_Out->Mobile, strItemText, 20); GetItemText(Item_In, Counter++, strItemText, 256); strncpy(Table_Out->Phone, strItemText, 20); GetItemText(Item_In, Counter++, strItemText, 256); strncpy(Table_Out->Email, strItemText, 50); GetItemText(Item_In, Counter++, strItemText, 256); strncpy(Table_Out->Job, strItemText, 20); GetItemText(Item_In, Counter++, strItemText, 256); return true; }