Hướng dẫn thực hành Lập trình C trên Windows - Sử dụng List Control

Để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

pdf5 trang | Chuyên mục: Visual C++ | Chia sẻ: dkS00TYs | Lượt xem: 1518 | Lượt tải: 4download
Tóm tắt nội dung Hướng dẫn thực hành Lập trình C trên Windows - Sử dụng List Control, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
 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 
ttmtrang@fit.hcmuns.edu.vn 
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); 
} 

File đính kèm:

  • pdfHướng dẫn thực hành Lập trình C trên Windows - Sử dụng List Control.pdf