1. Trang chủ
  2. » Công Nghệ Thông Tin

Giới thiệu về dialog, tạo ứng dụng dạng dialog báed

55 430 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giới thiệu về dialog
Tác giả Trần Ngọc Bảo
Trường học Đại Học Sư Phạm Tp. Hồ Chí Minh
Chuyên ngành Khoa Toán – Tin Học
Thể loại Đồ án
Thành phố Hồ Chí Minh
Định dạng
Số trang 55
Dung lượng 1,6 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tran Ngoc Bao 9 Dai hoc Su Pham TP.HCMTạo ứng dụng Dialog Based bằng AppWizard ™ Chọn menu File Æ New ™ Chọn Tab Projects ™ Chọn loại project “MFC AppWizard exe” ™ Đặt tên project trong

Trang 1

Đại Học Sư Phạm Tp Hồ Chí Minh

Dialog Box Common Controls

Property Sheet

Trần Ngọc Bảo Email: tnbao.dhsp@gmail.com

Trang 2

NỘI DUNG

™ Giới thiệu về Dialog box

™ Cài đặt và xử lý các control trong dialog

Trang 3

Tran Ngoc Bao 3 Dai hoc Su Pham TP.HCMGiới thiệu về dialog

Dialog application

Trang 4

Giới thiệu về dialog – Common dialog

Color dialog

Trang 5

Tran Ngoc Bao 5 Dai hoc Su Pham TP.HCM

Giới thiệu về dialog – Common dialog

Open file dialog

Trang 6

Giới thiệu về dialog – Common dialog

Fonts dialog

Trang 7

Tran Ngoc Bao 7 Dai hoc Su Pham TP.HCM

Giới thiệu về dialog – Property Sheet

Trang 8

Giới thiệu về dialog – Property Sheet

Trang 9

Tran Ngoc Bao 9 Dai hoc Su Pham TP.HCM

Tạo ứng dụng Dialog Based bằng AppWizard

™ Chọn menu File Æ New

™ Chọn Tab Projects

™ Chọn loại project “MFC AppWizard (exe)”

™ Đặt tên project trong ô “Project name”

™ Xác định đường dẫn thư mục trong “Location”

™ Step 1: Chọn loại ứng dụng “Dialog based”

™ Nh ấn “Finish” để kết thúc

™ Step 2: Ch ỉ chọn Option “3D controls”

Trang 10

Dialog based - Tạo ứng dụng bằng AppWizard

Trang 11

Tran Ngoc Bao 11 Dai hoc Su Pham TP.HCM

Dialog based - Tạo ứng dụng bằng AppWizard

Trang 12

Dialog based - Tạo ứng dụng bằng AppWizard

Trang 13

Tran Ngoc Bao 13 Dai hoc Su Pham TP.HCM

Dialog based - Tạo ứng dụng bằng AppWizard

Trang 14

Dialog based - Tạo ứng dụng bằng AppWizard

Trang 15

Tran Ngoc Bao 15 Dai hoc Su Pham TP.HCM

Dialog based - Tạo ứng dụng bằng AppWizard

Trang 16

Dialog based - Các thành phần của ứng dụng (1/3)

™ Các file chương trình: (abc là tên của ứng dụng)

ƒ abc.h: header file của file abc.cpp, chứa khai báo CabcApp để quản lý toàn bộ ứng dụng Lớp CabcApp kế thừa từ lớp

CWinApp của MFC

ƒ abcDlg.h: header file của file abcDlg.cpp, chứa khai báo CabcDlg để quản lý cửa sổ Dialog giao diện của ứng dụng Lớp CabcDlg kế thừa từ lớp CDialog của MFC

ƒ Resource.h: header file, chửa các hằng ID của các resource được định nghĩa trong file abc.rc

ƒ abc.cpp: cài đặt các hàm thành phần của lớp CabcApp

ƒ abc.rc : mô tả các resource của ứng dụng

ƒ abcDlg.cpp : cài đặt các hàm thành phần của lớp CabcDlg

Trang 17

Tran Ngoc Bao 17 Dai hoc Su Pham TP.HCM

Dialog based - Các thành phần của ứng dụng (2/3)

class CDialogBasedApp : public CWinApp

{ public:

CDialogBasedApp();

public:

virtual BOOL InitInstance();

DECLARE_MESSAGE_MAP() };

Trang 18

Dialog based - Các thành phần của ứng dụng (3/3)

class CDialogBasedDlg : public CDialog

virtual BOOL OnInitDialog();

afx_msg void OnPaint();

afx_msg HCURSOR OnQueryDragIcon();

DECLARE_MESSAGE_MAP() };

Trang 19

Tran Ngoc Bao 19 Dai hoc Su Pham TP.HCM

Tạo và xử lý dialog

™ Th êm mới Dialog resource

™ Thi ết lập thuộc tính dialog

™ Khai b áo lớp CDialog

™ Th êm các control vào dialog

™ Hi ển thị dialog

™ X ử lý dialog

Trang 20

Thêm mới dialog resource

Dialog resource

Trang 21

Tran Ngoc Bao 21 Dai hoc Su Pham TP.HCM

Thêm mới dialog resource (tt)

thêm mới dialog resource vào ứng dụng

Trang 22

Thêm mới dialog resource (tt)

New dialog resource

Trang 23

Tran Ngoc Bao 23 Dai hoc Su Pham TP.HCMThêm mới dialog resource (tt)

Resource editor

Trang 24

Thêm mới dialog resource (tt)

Alignment

Control box

Trang 25

Tran Ngoc Bao 25 Dai hoc Su Pham TP.HCMXác lập thuộc tính của Dialog

Trang 26

Khai báo lớp quản lý dialog

Ctrl + W để khai báo lớp xử lý tương ứng

Trang 27

Tran Ngoc Bao 27 Dai hoc Su Pham TP.HCM

Khai báo lớp xử lý dialog

Ctrl + W để khai báo lớp xử lý tương ứng

Tên lớp

Lớp Kế thừa

Trang 28

Header file - SampleDlg.h

Trang 29

Tran Ngoc Bao 29 Dai hoc Su Pham TP.HCMSource file - SampleDlg.cpp

Trang 30

Tạo và xử các control trong dialog

Control box

Trang 31

Tran Ngoc Bao 31 Dai hoc Su Pham TP.HCM

Xử lý control trong dialog box - EditText

Trang 32

Xử lý control trong dialog box - EditText

™ Th ông qua biến thành viên kiểu Value

Khai báo biến

Trang 33

Tran Ngoc Bao 33 Dai hoc Su Pham TP.HCM

Xử lý control trong dialog box - EditText

class CLoginDlg : public CDialog

Trang 35

Tran Ngoc Bao 35 Dai hoc Su Pham TP.HCM

Gán giá trị cho EditText

BOOL CLoginDlg::OnInitDialog()

{

CDialog::OnInitDialog();

// TODO: Add extra initialization here

m_strUserName = “Nguyen Van A";

return TRUE; // return TRUE unless you set the

focus to a control

// EXCEPTION: OCX Property Pages should return FALSE

}

Trang 36

Gán giá trị cho EditText

Trang 37

Tran Ngoc Bao 37 Dai hoc Su Pham TP.HCM

Gán giá trị cho EditText

BOOL CLoginDlg::OnInitDialog()

{

CDialog::OnInitDialog();

// TODO: Add extra initialization here

m_strUserName = “Nguyen Van A";

Trang 38

Gán giá trị cho EditText

UpdateData(FALSE);

Trang 39

Tran Ngoc Bao 39 Dai hoc Su Pham TP.HCM

Lấy giá trị từ EditText

void CLoginDlg::OnOK() {

// TODO: Add extra validation here

Trang 40

Lấy giá trị từ EditText

void CLoginDlg::OnOK() {

// TODO: Add extra validation here

CString strUserName;

UpdateData(TRUE);

strUserName = m_strUserName; MessageBox(strUserName);

CDialog::OnOK();

}

Kết quả strUserName = “Tran Van B”

Trang 41

Tran Ngoc Bao 41 Dai hoc Su Pham TP.HCMEditText - Dữ liệu loại VALUE

Trang 42

Xử lý control trong dialog box - EditText

™ Th ông qua biến thành viên kiểu CEdit

Khai báo biến

Trang 43

Tran Ngoc Bao 43 Dai hoc Su Pham TP.HCM

Xử lý control trong dialog box - EditText

class CLoginDlg : public CDialog

Trang 44

Gán giá trị cho EditText

BOOL CLoginDlg::OnInitDialog()

{

CDialog::OnInitDialog();

// TODO: Add extra initialization here

m_edtUserName.SetWindowText("Nguyen Van A");

Trang 45

Tran Ngoc Bao 45 Dai hoc Su Pham TP.HCM

Lấy giá trị từ EditText

Trang 46

Lấy và gán giá trị cho EditText

// Gán giá trị vào EditText

CString strUserName=“Nguyen Van A”;

GetDlgItem(IDC_TXTUSERNAME)->SetWindowText(strUserName);

CDialog::OnOK();

}

Trang 47

Tran Ngoc Bao 47 Dai hoc Su Pham TP.HCM

Lấy và gán giá trị cho EditText

// Gán giá trị vào EditText

CString strUserName=“Nguyen Van A”;

pe->SetWindowText(strUserName);

CDialog::OnOK();

}

Trang 49

Tran Ngoc Bao 49 Dai hoc Su Pham TP.HCM

Ví dụ minh họa

Trang 50

Gọi dialog trong các hàm xử lý

Trang 51

Tran Ngoc Bao 51 Dai hoc Su Pham TP.HCM

Truyền và nhận dữ liệu với dialog

void CMyClass::ShowMyDlg()

{

CLoginDlg dlg;

//Truyền giá trị cho các biến trong dialog

int nRes = dlg.DoModal();

if (nRes == IDOK) {

//Nhận giá trị từ các biến trong dialog

}

}

#include “MyClass.h”

#include “LoginDlg.h”

Trang 52

Truyền và nhận dữ liệu với dialog

Trang 53

Tran Ngoc Bao 53 Dai hoc Su Pham TP.HCM

Xử lý control trong dialog box - EditText

class CLoginDlg : public CDialog

Trang 54

Truyền và nhận dữ liệu với dialog (tt)

Trang 55

Tran Ngoc Bao 55 Dai hoc Su Pham TP.HCM

Ví dụ minh họa

Ngày đăng: 30/09/2013, 12:20

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w