Tải bản đầy đủ (.pdf) (5 trang)

Sử dụng List Control potx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (180.63 KB, 5 trang )


SỬ DỤNG LIST CONTROL
Trương Thị Mỹ Trang
Khoa Công nghệ Thông tin, trường Đại học Khoa học Tự nhiên TP.HCM


Phiên bản cập nhật ngày 16/11/2004
I. Mục tiêu
Hướng dẫn sử dụng List Control
II. Nội dung
Viết chương trình hiển thị danh sách sinh viên
III. Hướng dẫn
♦ Tạo một project mới có tên UseListCtrl dạng Dialog Based
♦ Tạo một Dialog theo mẫu sau:

IDC_Code
IDC_Name
IDC_Bithday
IDC_IsMale
IDC_Addr
IDC_StdList
Lưu ý: Trong properties của List Control, chọn Styles là Report

♦ Khai báo biến cho các control như sau:


♦ Khai báo các sự kiện BN_CLICKED cho các button IDC_IsMale, IDC_Add,
IDC_Refresh, IDC_Exit
♦ Để tạo một table, chúng ta thêm hàm CreateTable() vào lớp CUseListCtrlDlg:
void CUseListCtrlDlg::CreateTable()
{


// Định dạng Style cho List Control
m_StdList.SetExtendedStyle(LVS_EX_TRACKSELECT |

LVS_EX_ONECLICKACTIVATE |

LVS_EX_UNDERLINEHOT |

LVS_EX_FULLROWSELECT |
LVS_EX_GRIDLINES );

// Chèn thêm cột MSSV với độ rộng cột là 50
InsertColumn(0,"MSSV",50);
// Chèn cột Họ Tên với độ rộng là 150
InsertColumn(1,"Ho ten",150);
InsertColumn(2,"Ngay sinh",60);
InsertColumn(3,"Gioi tinh",50);
InsertColumn(4,"Dia chi",150);
}

Trong đó, hàm InsertColumn(…), như sau:
void CUseListCtrlDlg::InsertColumn(int iCol, CString Header, int Width)
// iCol: chỉ số của cột; Header: tên của cột; Width: độ rộng cột
{
LV_COLUMN lv;
lv.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH ;
lv.fmt = LVCFMT_LEFT;

lv.cx = Width;
lv.pszText = (char *) (const char *)Header;
m_StdList.InsertColumn(iCol,&lv);

}
♦ Chúng ta gọi hàm CreateTable() trong hàm OnInitDialog() của lớp
CUseListCtrlDlg, trong hàm này chúng ta them đoạn code sau.
BOOL CUseListCtrlDlg::OnInitDialog()
{
……….
// TODO: Add extra initialization here
CreateTable();
UpdateData(0);
………
}
♦ Để chèn một record vào bảng, chúng ta sử dụng hàm sau:
void CUseListCtrlDlg::InsertStudent(CString Code, CString Name,
COleDateTime Birthday, BOOL IsMale, CString Addr)
{
static unsigned int index = 0;
CString Temp;
// Chèn thêm một record ở dòng thứ index
m_StdList.InsertItem(index,Code);
// Ghi dữ liệu vào cột thứ 0 với nội dung trong biến Code ở dòng thứ index
m_StdList.SetItemText(index,0,Code);
m_StdList.SetItemText(index,1,Name);
Temp.Format("%d/%d/%d",Birthday.GetDay(),Birthday.GetMonth(),Birth
day.GetYear());
m_StdList.SetItemText(index,2,Temp);
Temp = (IsMale==0)?"Nam":"Nu";
m_StdList.SetItemText(index,3,Temp);
m_StdList.SetItemText(index,4,Addr);
index++;
}

♦ Trong hàm OnAdd(), ta thêm đoạn code sau:
void CUseListCtrlDlg::OnAdd()
{
// Cập nhật nội dung trên form vào các biến
UpdateData();
// Chèn thông tin về sinh viên
InsertStudent(m_Code,m_Name,m_Birthday,m_IsMale,m_Addr);
UpdateData(0);
}


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×