HƯỚNG DẪN THỰC HAØNH CHƯƠNG 5 2 Dialog và các Controls

Một phần của tài liệu Giáo án - Bài giảng: BÀI TẬP MÔN LẬP TRÌNH WINDOWS (Trang 49 - 68)

2 Dialog và các Controls

2.1 Bài tập 1 (FontView)

Bước 1: Tạo project (Dialog base), thiết kế giao diện theo yêu cầu

Bước 2: Khai báo các biến thành viên ứng với các controls :

Loại control ID Caption Biến đối tượng

ComboBox IDC_COMBOSIZE m_cbSize ListBox IDC_LIST_FONT m_lbFonts

Editbox IDC_CONTENT m_editContent CheckBox IDC_CHECK_TRUETYPE m_chkCheckbox CheckBox IDC_B m_chkB CheckBox IDC_I m_chkI CheckBox IDC_U m_chkU

Static IDC_STATIC_FONTVIEW m_staticFontView

TH Lập trình Windows chương 5 Dialog - Controls

Bước 3: Tạo menu:

Bước 4:

Khai báo và định nghĩa hàm xử lý font :

int CALLBACK EnumFontfamProc (LPENUMLOGFONT lpelf,

LPNEWTEXTMETRIC lpntm, DWORD nFonttype, long lParam);

Bước 5: Trong lớp CFontViewDlg, khai báo và định nghĩa các hàm

TH Lập trình Windows chương 5 Dialog - Controls

//Hàm liệt kê và hiển thị font

//Hàm tạo và chọn font dựa vào các lựa chọn

TH Lập trình Windows chương 5 Dialog - Controls

//Hàm kiểm tra có đoạn văn bản nào đang được chọn trong EditBox

//Hàm cập nhật trạng thái menu

TH Lập trình Windows chương 5 Dialog - Controls

//Tạo danh sách các cỡ chữ trong ComboBox

Bước 5: Trong lớp CFontViewDlg, khai báo và định nghĩa các hàm xử lý sự kiện //Trong OnInitDialog

// Thay đổi lựa chọn font trong ListBox

//Check – uncheck ComboBox True Type

TH Lập trình Windows chương 5 Dialog - Controls

// Sự kiện từ menu

TH Lập trình Windows chương 5 Dialog - Controls

//sự kiện click vào menu -> cập nhật trạng thái menu

//Xử lý sự kiện phím (adsbygoogle = window.adsbygoogle || []).push({});

//Check – uncheck các CheckBox B, I, U

//Thay đổi lựa chọn trên ComboBox Size

TH Lập trình Windows chương 5 Dialog - Controls

2.2 Bài tập 2 (ColorText)

Bước 1: Tạo project (Dialog base), thiết kế giao diện theo yêu cầu

Bước 2: Tạo các lớp CColorStatic kế thừa từ lớp cơ sở CStatic và CiconListBox kế thừa từ lớp cơ sở CListBox (xem trong slides)

Bước 3: Trong lớp CcolorTextDlg khai báo các biến :

Bước 4: Khai báo các biến thành viên ứng với các controls :

Loại control ID Caption Biến đối tượng CColorStatic IDC_STATIC_TEXT Advanced

Control Programming

m_staticText

CIconListBox IDC_LIST_ICON m_lbIcon

Bước 5: Khai báo các và định nghĩa các hàm xử lý sự kiện : //Trong OnInitDialog

TH Lập trình Windows chương 5 Dialog - Controls

//Trong OnPaint

// Các sự kiện từ Radio Button, ListBox

TH Lập trình Windows chương 5 Dialog - Controls

TH Lập trình Windows chương 5 Dialog - Controls

2.3 Bài tập 3 (SampleEditor)

Bước 1: Tạo project (Dialog base), thiết kế giao diện theo yêu cầu

ListBox

EditBox

CheckBox ComboBo

TH Lập trình Windows chương 5 Dialog - Controls

Bước 2: Xây dựng các lớp đáp ứng yêu cầu thiết kế giao diện

ComboBox hiển thị màu sắc:

TH Lập trình Windows chương 5 Dialog - Controls

ListBox hiển thị màu cho text: Tạo lớp CColorListBox kế thừa từ lớp cơ sở CListBox: File ColorListbox.h

… (adsbygoogle = window.adsbygoogle || []).push({});

File ColorListbox.cpp //

//Thêm một chuỗi vào ListBox với màu text là cColor

// Thiết lập kích thước cho mỗi item

TH Lập trình Windows chương 5 Dialog - Controls

// Vẽ lại ListBox

TH Lập trình Windows chương 5 Dialog - Controls

Lớp CEditColor : kế thừa từ lớp cơ sở CEdit, thêm các chức năng chọn màu văn bản, màu nền

//File EditColor.h

TH Lập trình Windows chương 5 Dialog - Controls

//File EditColor.cpp

TH Lập trình Windows chương 5 Dialog - Controls

Bước 3: Khai báo các biến thành viên ứng với các controls :

Loại control ID Caption Biến đối tượng ComboBox IDC_COMBOCOLOR m_cbColor

(COwnerDrawComboBox) ComboBox IDC_COMBOSIZE m_cbSize

ListBox IDC_FONTLIST m_lbFonts (CColorListBox)

Editbox IDC_CONTENT m_editContent (CEditColor)

CheckBox IDC_CHECKB m_bB CheckBox IDC_CHECKI m_bI CheckBox IDC_CHECKU m_bU

Bước 4:

// file SimpleEditor.h

Khai báo và định nghĩa hàm xử lý font :

int CALLBACK EnumFontfamProc (LPENUMLOGFONT lpelf,

LPNEWTEXTMETRIC lpntm, DWORD nFonttype, long lParam);

… …

//file SimpleEditor.cpp

TH Lập trình Windows chương 5 Dialog - Controls

TH Lập trình Windows chương 5 Dialog - Controls

//Trong hàm OnInitDialog()

… … (adsbygoogle = window.adsbygoogle || []).push({});

TH Lập trình Windows chương 5 Kiến trúc Documents/Views – Dialog, Property Sheets

Một phần của tài liệu Giáo án - Bài giảng: BÀI TẬP MÔN LẬP TRÌNH WINDOWS (Trang 49 - 68)