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

Bài giảng Visual C++ 6.0 pot

62 584 1

Đ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

Định dạng
Số trang 62
Dung lượng 1,26 MB

Nội dung

Các trường hợp đặt tên hàm: COMMAND OnMenuMenuCon OnTaptinMoUPDATE_COMMAND_UI OnUpdateMenuMenuCon OnUpdateTaptinMo // TODO: Add your control notification handler code here} UPDATE_COMMAN

Trang 1

Thanh công cụ-Tool bar * Thanh công cụ Chuẩn-Standard

* Thanh công cụ WizardBar: Hiển thị các lớp đang sử dụng và các hàm đang sử dụng trong

lớp đó

* Thanh công cụ Build MiniBar: Biên dịch và chạy chương trình.

* Thanh công cụ Điều khiển-Control Toolbar: Thiết kế giao diện chương trình.

* Khung panel Vùng làm việc-Workspace

- Thẻ : Hiển thị dạng cây các lớp, hàm, biến sử dụng trong chương trình

+ Lớp-Class

+ Hàm-Function + Biến-Variable

- Thẻ : Hiển thị các thành phần của chương trình:

+ Dialog: Cửa sổ hộp thoại.

+ Icon: Biểu tượng.

+ Menu: Thanh trình đơn.

+ Toolbar: Thanh công cụ.

+ String Table: Bảng chuỗi.

+ Accelerator: Phím tắt.

+ Version: Phiên bản.

- Thẻ : Hiển thị dạng cây các file chương trình:

+ Resource Files: File mã nguồn chương trình.

+ Header Files: File hỗ trợ biên dịch chương trình.

+ Resource Files: File tài nguyên chương trình.

GV: Nguyễn Viết Nam

Mở ứng dụng đã lưu-Open

1

Trang 2

* Khung panel Thông báo-Output: Thông báo kết quả khi biên dịch và chạy chương trình.

Tạo mới-New * Mở hộp thoại New:

Click chọn menu > chọn New.

+ Hộp : Để tạo ứng dụng dạng tài liệu đơn.

+ Hộp : Để tạo ứng dụng dạng tài liệu đa.

Khởi động-Open Tạo 1 ứng dụng mới, dùng tên tạm-New Lưu ứng dụng-Save Viết chương trình-Coding

Chạy chương trình-Compile Viết chương trình tiếp-Coding next Cập nhật ứng dụng-Save Lưu 1 bản sao của ứng dụng-Save as Đóng-Close Mở ứng dụng đã lưu-Open

Trang 3

+ Hộp : Để tạo ứng dụng dạng hộp thoại.

- Chọn nút

- Chọn nút

- Khi đó VC++ 6.0 tạo ra:

+ Ứng dụng tài liệu đơn:

+ Ứng dụng tài liệu đa:

GV: Nguyễn Viết Nam 3

Trang 4

+Ứng dụng hộp thoại:

- Trong đó:

+ Các file vùng làm việc *.dsw (workspace) và dự án *.dsp (project)

+ Các file mã nguồn chương trình *.cpp và StdAfx.cpp

+ Các file hỗ trợ biên dịch StdAfx.h , *.pch

+ File tài nguyên chương trình *.rc

+ File thông tin lớp *.clw

+ Thư mục chương trình biên dịch Debug.

+ Thư mục tài nguyên res.

* Ứng dụng Dòng lệnh-Console:

C1: Chọn thẻ > chọn mục > chọn hộp > khi đó VC6 tạo ra:

+ Các file vùng làm việc *.dsw (workspace) và dự án *.dsp (project)

+ Các file mã nguồn chương trình *.cpp và StdAfx.cpp

+ Các file hỗ trợ biên dịch StdAfx.h , *.pch

+ Thư mục chương trình biên dịch Debug.

C2: Chọn thẻ > chọn mục

Trang 5

Lưu trữ-Save

* Cập nhật ứng dụng:

C1: Click chọn menu > chọn Save Workspace.

C2: Click chọn menu > chọn Save All.

Ấn phím Ctrl + O.

- Sau đó xuất hiện hộp thoại Open:

- Chọn mục Workspace (*.dsw, *.mdp) ở hộp

- Chọn vị trí lưu ứng dụng cần mở ở hộp

- Chọn tên ứng dụng cần mở ở khung danh sách bên dưới rồi chọn

4 Giao diện (Interface)

- Có sẵn menu là

Hộp thoại (Dialog) - Mở hộp thoại hộp thoại Insert Resource:

Click chọn menu > chọn Resource.

Ấn phím Ctrl + R.

- Sau đó xuất hiện hộp thoại Insert Resource:

GV: Nguyễn Viết Nam

Biên dịch-Compile Chạy-Run Biên dịch,Chạy-Compile,Run Chạy từng bước-Debug

5

Trang 6

- Chọn mục ở khung danh sách Resource Type > chọn nút

- Khi đó xuất hiện menu mới là trong khung

Workspace ở thẻ Resource View.

Viết mã-Coding

Trình đơn ngữ

cảnh-Context Menu - Giống Menu.

Gán Thuộc tính- Assign Properties

Thiết

kế-Design

* Nhập menu:

- Double Click lên menu là trong khung Workspace ở thẻ

- Click chuột phải lên vùng trống của menu > chọn Properties

- Sau đó xuất hiện hộp thoại Menu Properties của menu như hình sau:

+ Nhập tên định danh của menu ở hộp

- Chọn vùng và nhập menu

- Sau đó xuất hiện hộp thoại Menu Item Properties của menu như hình sau:

+ Nhập nhãn hiển thị của menu ở hộp VD: Tap tin.

- Tiếp theo chọn vùng bên cạnh để nhập menu cùng cấp hay menu con.

+ Chọn hộp nếu muốn tạo đường ngăn cách các mục menu.

- Rồi ấn phím Enter.

- Ấn phím ESC để hủy bỏ gán thuộc tính.

* Kết nối menu với hộp thoại (Dialog):

Tài liệu đơn, đa (Single, Multiple Document) - Menu đã kết nối sẵn.

Hộp thoại (Dialog)

- Click chuột phải lên Hộp thoại-Dialog > chọn Properties > chọn tên định danh

của menu ở hộp VD: IDR_MENU.

- Lưu ý: tên định danh của từng menu được tạo tự động theo cú pháp

Trang 7

- Double Click lên menu là trong khung Workspace ở thẻ

- Click chuột phải lên menu > chọn ClassWizard.

Tài liệu đơn, đa (Single, Multiple Document) - Đã có sẵn.

- Chọn thẻ > sau đó xuất hiện hộp thoại MFC ClassWizard như hình sau:

Tài liệu đơn, đa (Single, Multiple Document)

- Chọn lớp View (ví dụ Cbai1View) ở hộp

Hộp thoại (Dialog)

- Chọn tên định danh của menu ở khung Object IDs > chọn thông điệp ở khung Messages:

GV: Nguyễn Viết Nam 7

Trang 8

Thông điệp Ý nghĩa sự kiện

COMMAND Nhấp chuộtUPDATE_COMMAND_UI Cập nhật menu

- Chọn nút > sau đó xuất hiện hộp thoại Add Member Fucntion.

+ Đặt tên hàm cho hộp nhập liệu ở hộp Các trường hợp đặt tên hàm:

COMMAND OnMenuMenuCon OnTaptinMoUPDATE_COMMAND_UI OnUpdateMenuMenuCon OnUpdateTaptinMo

// TODO: Add your control notification handler code here}

UPDATE_COMMAND_UI

void CTen_Ung_DungView::OnUpdateMenuMenuCon(CCmdUI* pCmdUI)

- Chọn thẻ > sau đó xuất hiện hộp thoại MFC ClassWizard như hình sau:

- Chọn tên định danh của Hộp thoại-Dialog ở khung Object IDs > chọn thông điệp ở khung

Messages:

Thông điệp Ý nghĩa sự kiện

WM_CONTEXTMENU Nhấp chuột phải lên Dialog

- Chọn nút

- Chọn nút để xóa hàm.

- Chọn nút để viết mã lệnh trong hàm như sau:

void CTen_Ung_DungDlg::OnContextMenu(CWnd* pWnd, CPoint point) {

// TODO: Add your message handler code here}

Viết mã-Coding

Lập trình- - Ví dụ-Example:

Trang 9

Progarmming void CMenuDlg::OnPheptinhCong()

// TODO: Add your command handler code hereUpdateData(TRUE);

m_c = m_a - m_b;

UpdateData(FALSE);

checkPT(MNU_TRU);

}void CMenuDlg::OnPheptinhNhan() {

// TODO: Add your command handler code hereUpdateData(TRUE);

m_c = m_a * m_b;

UpdateData(FALSE);

checkPT(MNU_NHAN);

}void CMenuDlg::OnPheptinhChia() {

// TODO: Add your command handler code hereUpdateData(TRUE);

if(m_b!=0){

m_c = m_a / m_b;

UpdateData(FALSE);

checkPT(MNU_CHIA);

}else

MessageBox("Loi chia 0");

}void CMenuDlg::OnPheptinhKetthuc() {

// TODO: Add your command handler code hereOnOK();

}

CWnd::SetMenu

Mục đích (Purpose) Sets the menu to the specified menu.Đặt một thanh menu vào cửa sổ

Cú pháp (Syntax)

BOOL SetMenu(

CMenu* pMenu );

Ví dụ (Example)

CWnd::GetMenu

Mục đích (Purpose)

Retrieves a pointer to the menu for this window

Hàm trả về con trỏ quản lý thanh Menu của một cửa sổ

Cú pháp (Syntax) CMenu* GetMenu( ) const;

Ví dụ (Example) CMenu::GetSubMenu

Mục đích (Purpose)

Retrieves a pointer to a pop-up menu

Trả về một con trỏ đối tượng CMenu của một popup menu

Cú pháp CMenu* GetSubMenu(

GV: Nguyễn Viết Nam 9

Trang 10

(Syntax) int nPos ) const;

Ví dụ (Example)

CMenu::TrackPopupMenu

Mục đích (Purpose)

Displays a floating pop-up menu at the specified location and tracks the selection of items on the pop-

up menu

Hiển thị một popup menu tại một vị trí xác định

Cú pháp (Syntax)

BOOL TrackPopupMenu(

UINT nFlags, int x,

int y, CWnd* pWnd, LPCRECT lpRect = 0);

Ví dụ (Example)

void CMenuDlg::OnContextMenu(CWnd* pWnd, CPoint point)

{

// TODO: Add your message handler code here

CMenu* pMenu = GetMenu();

CMenu* pSubMenu =

pMenu->GetSubMenu(0);

pSubMenu->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this);

}

CMenu::LoadMenu

Mục đích (Purpose)

Loads a menu resource from the application's executable file and attaches it to the CMenu object.Nạp và gắn kết một thanh menu vào một đối tượng thuộc lớp CMenu

Cú pháp (Syntax)

BOOL LoadMenu(

LPCTSTR lpszResourceName );

BOOL LoadMenu(

UINT nIDResource );

Ví dụ (Example)

CMenu::CheckMenuItem

Mục đích (Purpose)

Adds check marks to or removes check marks from menu items in the pop-up menu

Đặt dấu Check hay loại bỏ dấu Check cho một mục chọn trên thanh menu

Cú pháp (Syntax)

UINT CheckMenuItem(

UINT nIDCheckItem, UINT nCheck );

Ví dụ (Example)

void CMenuDlg::checkPT(UINT menu_id) {

CMenu* pMenu = GetMenu();

pMenu->CheckMenuItem(MNU_CONG, MF_UNCHECKED);

pMenu->CheckMenuItem(MNU_TRU, MF_UNCHECKED);

pMenu->CheckMenuItem(MNU_NHAN, MF_UNCHECKED);

pMenu->CheckMenuItem(MNU_CHIA, MF_UNCHECKED);

pMenu->CheckMenuItem(menu_id, MF_CHECKED);

} CMenu::EnableMenuItem Mục đích

(Purpose) Enables, disables, or dims a menu item.Enables, Disables một mục chọn trên thanh menu

Cú pháp (Syntax) UINT EnableMenuItem( UINT nIDEnableItem,

Trang 11

UINT nEnable );

Ví dụ (Example)

* Mở hộp thoại hộp thoại Insert Resource:

Click chọn menu > chọn Resource.

Ấn phím Ctrl + R.

- Sau đó xuất hiện hộp thoại Insert Resource:

- Chọn mục ở khung danh sách Resource Type > chọn nút

- Khi đó xuất hiện Hộp thoại-Dialog mới là trong khung Workspace ở thẻ Resource

- Double Click lên Hộp thoại-Dialog là trong khung Workspace ở thẻ Resource View.

- Click chuột phải lên Hộp thoại-Dialog > chọn Properties.

- Sau đó xuất hiện hộp thoại Dialog Properties như hình sau:

+ Nhập tên định danh của Hộp thoại-Dialog ở hộp VD:

- Click chuột phải lên Hộp thoại-Dialog > chọn ClassWizard.

- Xuất hiện hộp thoại Adding a Class:

GV: Nguyễn Viết Nam 11

Trang 12

- Chọn hộp để tạo lớp mới > chọn nút

- Tiếp theo xuất hiện hộp thoại New Class:

- Nhập tên lớp vào hộp theo cú pháp là

Cú pháp (Syntax) virtual INT_PTR DoModal( );

Ví dụ (Example)

Tài liệu đơn, đa (Single, Multiple Document)

- Copy dòng include “CHocvien.h” của

lớp Học viên cpp vào lớp View cpp Hộp thoại (Dialog) - Copy dòng include “CHocvien.h” của lớp Học viên cpp vào lớp Dlg cpp CHocvien dlg;

(Purpose) This member function is called in response to the WM_INITDIALOG message

Cú pháp (Syntax) virtual BOOL OnInitDialog();

Ví dụ (Example) BOOL CWidth::OnInitDialog() {

CDialog::OnInitDialog();

// TODO: Add extra initialization here m_slider.SetRange (1,20);

Trang 13

* Mở hộp thoại hộp thoại Insert Resource:

Click chọn menu > chọn Resource.

Ấn phím Ctrl + R.

- Sau đó xuất hiện hộp thoại Insert Resource:

- Chọn mục ở khung danh sách Resource Type > chọn nút

- Khi đó xuất hiện Hộp thoại-Dialog mới là trong khung Workspace ở thẻ Resource

- Double Click lên Hộp thoại-Dialog là trong khung Workspace ở thẻ Resource View.

- Click chuột phải lên Hộp thoại-Dialog > chọn Properties.

- Sau đó xuất hiện hộp thoại Dialog Properties như hình sau:

+ Nhập tên định danh của Hộp thoại-Dialog ở hộp VD:

- Click chuột phải lên Hộp thoại-Dialog > chọn ClassWizard.

- Xuất hiện hộp thoại Adding a Class:

GV: Nguyễn Viết Nam 13

Trang 14

- Chọn hộp để tạo lớp mới > chọn nút

- Tiếp theo xuất hiện hộp thoại New Class:

- Nhập tên lớp vào hộp theo cú pháp là

Cú pháp (Syntax) CWnd* GetParent( ) const;

Ví dụ (Example)

Tài liệu đơn,

đa (Single, Multiple Document)

- Copy dòng include “CHocvien.h” của lớp Học

viên cpp vào lớp View cpp

Hộp thoại (Dialog)

- Copy dòng include “CDialogModeless.h” của

lớp Modeless cpp vào lớp Dialog cha h sau

dòng // ModeLessDlg.h : header file

- Tạo con trỏ thuộc lớp Dialog Modeless (ví dụ

CModeless* dlg_ml;) trong lớp Dialog cha h sau

Tạo 1 lớp dẫn xuất từ lớp Cobject - Lớp CDiem

Trong lớp CDiem.h DECLARE_SERIAL(CDiem); void Serialize(CArchive& ar);

Trang 15

Trong lớp CDiem.cpp

// Construction/Destruction IMPLEMENT_SERIAL(CDiem, CObject,1)

- Sự kiện Serialize của lớp View rồi copy qua cho lớp CDiem.cpp

void CDiem::Serialize(CArchive& ar) {

if (ar.IsStoring()) {

// TODO: add storing code here

ar << m1 << m2 << mWidth << mColor;

} else {

// TODO: add loading code here

ar >> m1 >> m2 >> mWidth >> mColor;

} }

Trong lớp Doc.h - Trong phương thức Serialize tại dòng cuối:mDS.Serialize(ar);

Khai báo biến-Variable Declaration

Chèn Thông điệp-Add Message

Deletes the attached Windows GDI object from memory

by freeing all system storage associated with the Windows GDI object

Cú pháp (Syntax) BOOL DeleteObject( );

Ví dụ (Example) CFontDialog::GetCurrentFont

Mục đích (Purpose)

Call this function to assign the characteristics of the currently selected font to the members of a LOGFONT structure

Cú pháp (Syntax) void GetCurrentFont( LPLOGFONT lplf

GV: Nguyễn Viết Nam 15

Trang 16

Ví dụ (Example)

LOGFONT

Mục đích (Purpose) The LOGFONT structure defines the attributes of a font

Cú pháp (Syntax)

typedef struct tagLOGFONT { LONG lfHeight;

LONG lfWidth; LONG lfEscapement; LONG lfOrientation; LONG lfWeight; BYTE lfItalic; BYTE lfUnderline; BYTE lfStrikeOut; BYTE lfCharSet; BYTE lfOutPrecision; BYTE lfClipPrecision; BYTE lfQuality; BYTE lfPitchAndFamily; TCHAR lfFaceName[LF_FACESIZE];

} LOGFONT, *PLOGFONT;

Ví dụ (Example)

CFontDialog::GetColor

Mục đích (Purpose) Call this function to retrieve the selected font color.

Cú pháp (Syntax) COLORREF GetColor( ) const;

Ví dụ (Example)

CFont::CreateFontIndirect

Mục đích (Purpose) Initializes a CFont object with the characteristics given in a LOGFONT structure pointed to by lpLogFont.

Cú pháp (Syntax)

BOOL CreateFontIndirect(

const LOGFONT* lpLogFont

);

Ví dụ (Example)

Vẽ-Draw - Click chọn nút Button trên thanh công cụ Điều khiển.

- Khi đó biểu tượng con trỏ chuột là > Click chọn trên Hộp thoại-Dialog để có nút là

Viết mã-Coding

Gán Thuộc tính- Assign Properties

Trang 17

Thiết

kế-Design

- Click chuột phải lên nút trên Hộp thoại-Dialog > chọn Properties.

- Sau đó xuất hiện hộp thoại Push Button Properties của nút như hình sau:

+ Nhập tên định danh của nút ở hộp VD: IDC_BUTTON_HELLO + Nhập nhãn hiển thị của nút ở hộp Có thể nhập dấu & trước kí tự tắt VD: Say Hello.

- Click chuột phải lên nút trên Hộp thoại-Dialog > chọn ClassWizard.

- Chọn thẻ > sau đó xuất hiện hộp thoại MFC ClassWizard như hình sau:

- Chọn tên định danh của nút ở khung Control IDS > chọn nút > xuất hiện hộp

thoại Add Member Variable như hình sau:

+ Nhập tên biến hay tên đối tượng vào hộp VD:

m_button_hello.

+ Chọn là đối tượng ở hộp , thì chọn lớp ở hộp

Kiểu Giải nghĩa

CButton Lớp nút

- Chọn nút để xóa biến hay xóa đối tượng.

Chèn Thông điệp-Add - Mở hộp thoại MFC ClassWizard.

GV: Nguyễn Viết Nam 17

Trang 18

- Chọn thẻ > sau đó xuất hiện hộp thoại MFC ClassWizard như hình sau:

- Chọn tên định danh của nút ở khung Object IDs > chọn thông điệp ở khung Messages:

Thông điệp Ý nghĩa sự kiện

BN_CLICKED Nhấp chuộtBN_DOUBLECLICKED Nhấp đúp chuột

- Chọn nút > sau đó xuất hiện hộp thoại Add Member Fucntion như hình sau:

+ Đặt tên hàm cho nút ở hộp Các trường hợp đặt tên hàm:

Thông điệp Tên hàm Ví dụ BN_CLICKED OnButton OnButtonHello

- Chọn nút để xóa hàm.

- Chọn nút để viết mã lệnh trong hàm như sau:

void CTen_Ung_DungDlg::OnButtonTen_Nut() {

// TODO: Add your control notification handler code here}

Cú pháp (Syntax)

CWnd* GetDlgItem(

int nID ) const;

void GetDlgItem(

int nID, HWND* phWnd) const;

Ví dụ (Example) CButton* pButton=(CButton*)GetDlgItem(IDC_BUTTON1);

CWnd::IsWindowEnabled

Mục đích (Purpose) Hàm trả về khác 0 nếu cửa sổ Enable.

Cú pháp (Syntax) BOOL IsWindowEnabled( ) const;

Ví dụ (Example) CWnd::EnableWindow Mục đích

(Purpose) Enables or disables mouse and keyboard input.Enable (TRUE) hoặc Disable (FALSE) một cửa sổ.

Cú pháp (Syntax) BOOL EnableWindow( BOOL bEnable = TRUE

Trang 19

Ví dụ (Example)

CButton*

pButton2=(CButton*)GetDlgItem(IDC_BUTTON2); if(pButton2->IsWindowEnabled())

pButton2->EnableWindow(FALSE);

else pButton2->EnableWindow(TRUE);

CWnd::IsWindowVisible

Mục đích (Purpose) Enables or disables mouse and keyboard input.Hàm trả về khác 0 nếu cửa sổ Visible.

Cú pháp (Syntax) BOOL IsWindowVisible( ) const;

Ví dụ (Example)

CButton*

pButton2=(CButton*)GetDlgItem(IDC_BUTTON2); if(pButton2->IsWindowEnabled())

pButton2->EnableWindow(FALSE);

else pButton2->EnableWindow(TRUE);

CWnd::ShowWindow

Mục đích (Purpose)

Sets the visibility state of the window

Đặt trạng thái Visible của cửa sổ (SW_HIDE: ẩn cửa

sổ, SW_SHOW: hiện cửa sổ).

Cú pháp (Syntax)

BOOL ShowWindow(

int nCmdShow );

Ví dụ (Example)

CButton*

pButton3=(CButton*)GetDlgItem(IDC_BUTTON3); if(pButton3->IsWindowVisible())

pButton3->ShowWindow(SW_HIDE);

else pButton3->ShowWindow(SW_SHOW);

CWnd::SetWindowText

Mục đích (Purpose)

Sets the window's title to the specified text

Đặt tiêu đề cho một cửa sổ.

Cú pháp (Syntax)

void SetWindowText(

LPCTSTR lpszString );

Ví dụ (Example)

CButton*

pButton3=(CButton*)GetDlgItem(IDC_BUTTON3); if(pButton3->IsWindowVisible())

pButton3->ShowWindow(SW_HIDE);

else pButton3->ShowWindow(SW_SHOW);

CWnd::GetWindowText

Mục đích (Purpose)

Copies the CWnd caption title (if it has one) into the buffer pointed to by lpszStringBuf or into the destination string rString

Sao chép nội dung tiêu đề của cửa sổ và chứa vào

thành phần thuộc kiểu chuỗi (LPTSTR hoặc CString).

Cú pháp (Syntax)

int GetWindowText(

LPTSTR lpszStringBuf, int nMaxCount

) const;

void GetWindowText(

CString& rString ) const;

Ví dụ (Example)

CButton*

pButton4=(CButton*)GetDlgItem(IDC_BUTTON4); pButton4->SetWindowText("Nut 4");

Giới

thiệu-Introduction

- Là điều khiển được đưa vào để hiển thị dòng văn bản tới người sử dụng Người sử dụng sẽ không

thể thay đổi văn bản hay tương tác với điều khiển, nó xem như một điều khiển chỉ đọc Tuy nhiên bạn

dễ dàng có thể thay đổi dòng văn bản hiển thị bởi điều khiển khi chương trình đang chạy qua mã lệnh bạn tạo cho ứng dụng

Thiết kế-Design

Tạo-Create

GV: Nguyễn Viết Nam 19

Trang 20

Vẽ-Draw - Click chọn nút Static Text trên thanh công cụ Điều khiển.

- Khi đó biểu tượng con trỏ chuột là > Click chuột trên hộp thoại (Dialog) để có nhãn là

Viết mã-Coding

Gán Thuộc tính- Assign Properties

Thiết kế-Design

- Click chuột phải lên nhãn trên Hộp thoại-Dialog > chọn Properties.

- Sau đó xuất hiện hộp thoại Text Properties của nhãn như hình sau:

+ Nhập tên định danh của nhãn ở hộp VD: IDC_STATIC_GIOITHIEU + Nhập nhãn hiển thị của nhãn ở hộp VD: Visual C++ 6.0.

+ Bỏ chọn hộp nếu muốn ẩn nhãn.

+ Chọn hộp nếu muốn vô hiệu hóa nhãn.

- Chọn thẻ > xuất hiện hộp thoại Edit Properties như hình sau:

+ Chọn hộp để cho nhãn hiển thị chuỗi

- Rồi ấn phím Enter.

- Ấn phím ESC để hủy bỏ gán thuộc tính.

Viết mã-Coding

Lập trình-Progarmming

Khai báo biến-Variable

Declaration - Click chuột phải lên nhãn trên Hộp thoại-Dialog > chọn ClassWizard.

- Chọn thẻ > sau đó xuất hiện hộp thoại MFC ClassWizard như hình sau:

- Chọn tên định danh của nhãn ở khung Control IDS > chọn nút > xuất hiện hộp

thoại Add Member Variable như hình sau:

Trang 21

+ Nhập tên biến hay tên đối tượng vào hộp VD:

m_static_hoten.

+ Chọn là biến ở hộp , thì chọn kiểu dữ liệu ở hộp

Kiểu Giải nghĩa

CString Kiểu chuỗi

+ Nếu chọn là đối tượng ở hộp , thì chọn lớp ở hộp

- Hàm Format(): giống hàm printf của C.

void cdecl Format(

Cú pháp (Syntax)

void cdecl Format(

UINT nFormatID, [, argument ]

);

void cdecl Format(

PCXSTR pszFormat, [, argument ]

);

Ví dụ (Example) m_static Format ("%d",m_slider.GetPos ()); UpdateData (FALSE)

CStatic::SetFont

Mục đích (Purpose) Sets the window's current font to the specified font.

Cú pháp (Syntax)

void SetFont(

CFont* pFont, BOOL bRedraw = TRUE );

Ví dụ (Example)

GV: Nguyễn Viết Nam 21

Trang 22

4.5 Hộp nhập liệu-Edit Text (CEdit)

Giới thiệu-Introduction - Là hộp soạn thảo cho phép người sử dụng nhập hay thay đổi văn bản.

Thiết kế-Design

Tạo-Create

Vẽ-Draw

- Click chọn nút Edit Text trên thanh công cụ Điều khiển

- Khi đó biểu tượng con trỏ chuột là > Click chọn trên Hộp thoại-Dialog để có hộp nhập liệu là

- Click chuột phải lên hộp nhập liệu trên Hộp thoại-Dialog > chọn Properties.

- Sau đó xuất hiện hộp thoại Edit Properties của hộp nhập liệu như hình sau:

+ Nhập tên định danh của hộp nhập liệu ở hộp VD:

IDC_BUTTON_HOTEN.

+ Bỏ chọn hộp nếu muốn ẩn hộp nhập liệu.

+ Chọn hộp nếu muốn vô hiệu hóa hộp nhập liệu.

- Chọn thẻ > xuất hiện hộp thoại Edit Properties như hình sau:

+ Chọn hộp để quy định thuộc tính chỉ đọc kết quả.

- Click chuột phải lên hộp nhập liệu trên Hộp thoại-Dialog > chọn ClassWizard.

- Chọn thẻ > sau đó xuất hiện hộp thoại MFC ClassWizard như hình sau:

- Chọn tên định danh của hộp nhập liệu ở khung Control IDs > chọn nút > xuất hiện

Trang 23

hộp thoại Add Member Variable như hình sau:

+ Nhập tên biến hay tên đối tượng vào hộp VD:

m_edit_hoten.

+ Nếu chọn là biến ở hộp , thì chọn kiểu dữ liệu ở hộp

CString Kiểu Chuỗiint Kiểu số nguyênUINT Kiểu số nguyên (không dấu)long Kiểu số nguyên dài

DWORD Kiểu số nguyên dàifloat Kiểu số thực ngắndouble Kiểu số thực dàiBYTE Kiểu số nguyên ngắn (không dấu)short Kiểu số nguyên ngắn

BOOL Kiểu luận lýCOleDateTime Kiểu ngày giờCOleCurrency Kiểu tiền tệ

+ Nếu chọn là đối tượng ở hộp , thì chọn lớp ở hộp

- Chọn thẻ > sau đó xuất hiện hộp thoại MFC ClassWizard như hình sau:

- Chọn tên định danh của hộp nhập liệu ở khung Object IDs > chọn thông điệp ở khung

Messages:

Thông điệp Ý nghĩa sự kiện

GV: Nguyễn Viết Nam 23

Trang 24

- Chọn nút > sau đó xuất hiện hộp thoại Add Member Fucntion như hình sau:

+ Đặt tên hàm cho hộp nhập liệu ở hộp Các trường hợp đặt tên hàm:

Thông điệp Tên hàm Ví dụ

- Chọn nút để xóa hàm.

- Chọn nút để viết mã lệnh trong hàm như sau:

void CTen_Ung_DungDlg::On() {

// TODO: Add your control notification handler code here}

Viết mã-Coding

Lập

trình-Progarmming CStringT::MakeReverse

Mục đích (Purpose)

Reverses the order of the characters in the CStringT object

Đảo chuỗi

Cú pháp (Syntax) CStringT& MakeReverse();

Ví dụ (Example)

- Click chọn nút Group Box trên thanh công cụ Điều khiển

- Khi đó biểu tượng con trỏ chuột là > Click chọn trên Hộp thoại-Dialog để có khung nhóm là

- Click chuột phải lên khung nhóm trên Hộp thoại-Dialog > chọn Properties.

- Sau đó xuất hiện hộp thoại Group Box Properties của khung nhóm như hình sau:

+ Nhập tên định danh của khung nhóm ở hộp VD:

IDC_STATIC_GIOITINH.

+ Nhập nhãn hiển thị của khung nhóm ở hộp VD: Gioi Tinh.

+ Chọn hộp nếu muốn vô hiệu hóa khung nhóm.

+ Bỏ chọn hộp nếu muốn ẩn khung nhóm.

+ Chọn hộp nếu muốn vô hiệu hóa khung nhóm.

- Chọn thẻ > xuất hiện hộp thoại Group Box Properties như hình sau:

Trang 25

+ Chọn hộp nếu muốn khung nhóm lõm xuống.

Khai báo biến-Variable Declaration

Chèn Thông điệp-Add Message

Quy tắc - Tạo 1 Group Box và chọn thuộc tính - Tạo Radio Box đầu tiên, chọn thuộc tính của nó. và gán giá trị 0 cho nó

- Tạo các Radio Box khác

Vẽ-Draw

- Click chọn nút Radio Box trên thanh công cụ Điều khiển

- Khi đó biểu tượng con trỏ chuột là > Click chọn trên Hộp thoại-Dialog để có hộp lựa chọn là

- Click chuột phải lên hộp lựa chọn trên Hộp thoại-Dialog > chọn Properties.

- Sau đó xuất hiện hộp thoại Radio Button Properties của hộp lựa chọn như hình sau:

+ Nhập tên định danh của hộp lựa chọn ở hộp VD:

IDC_RADIO_GIOITINH.

+ Nhập nhãn hiển thị của hộp lựa chọn ở hộp VD: Say Hello.

+ Chọn hộp để tạo nhóm cho các hộp lựa chọn.

+ Bỏ chọn hộp nếu muốn ẩn hộp lựa chọn.

+ Chọn hộp nếu muốn vô hiệu hóa hộp lựa chọn.

Khai báo

biến-Variable Declaration - Click chuột phải lên hộp lựa chọn trên Hộp thoại-Dialog > chọn ClassWizard.

- Chọn thẻ > sau đó xuất hiện hộp thoại MFC ClassWizard như hình sau:

GV: Nguyễn Viết Nam 25

Trang 26

- Chọn tên định danh của hộp lựa chọn ở khung Control IDs > chọn nút > xuất hiện

hộp thoại Add Member Variable như hình sau:

+ Nhập tên biến hay tên đối tượng vào hộp VD:

m_radio_gioitinh.

+ Nếu chọn là biến ở hộp , thì chọn kiểu dữ liệu ở hộp

Kiểu Giải nghĩa

int Kiểu số nguyên

+ Nếu chọn là đối tượng ở hộp , thì chọn lớp ở hộp

Trang 27

- Chọn tên định danh của hộp nhập liệu ở khung Object IDs > chọn thông điệp ở khung

Messages:

Thông điệp Ý nghĩa sự kiện

BN_CLICKED Nhấp chuộtBN_DOUBLECLICKED Nhấp đúp chuột

- Chọn nút > sau đó xuất hiện hộp thoại Add Member Fucntion như hình sau:

+ Đặt tên hàm cho hộp nhập liệu ở hộp Các trường hợp đặt tên hàm:

Thông điệp Tên hàm Ví dụ

- Chọn nút để xóa hàm.

- Chọn nút để viết mã lệnh trong hàm như sau:

void CTen_Ung_DungDlg::On() {

// TODO: Add your control notification handler code here}

Lập trình-Progarmming

- Ví dụ-Example:

UpdateData(TRUE);

switch (m_radio){

case 0: MessageBox("Khong"); break;

case 1: MessageBox("Mot"); break;

} UpdateData(FALSE);

Trang 28

- Click chọn nút Check Box trên thanh công cụ Điều khiển.

- Khi đó biểu tượng con trỏ chuột là > Click chọn trên Hộp thoại-Dialog để có hộp đánh dấu là

- Click chuột phải lên hộp đánh dấu trên Hộp thoại-Dialog > chọn Properties.

- Sau đó xuất hiện hộp thoại Check Box Properties của hộp đánh dấu như hình sau:

+ Nhập tên định danh của hộp đánh dấu ở hộp VD:

IDC_CHECK_BONGDA.

+ Nhập nhãn hiển thị của đánh dấu ở hộp VD: Bong da.

+ Bỏ chọn hộp nếu muốn ẩn hộp đánh dấu.

+ Chọn hộp nếu muốn vô hiệu hóa hộp đánh dấu.

Trang 29

Khai báo

biến-Variable Declaration

- Click chuột phải lên hộp lựa chọn trên Hộp thoại-Dialog > chọn ClassWizard.

- Chọn thẻ > sau đó xuất hiện hộp thoại MFC ClassWizard như hình sau:

- Chọn tên định danh của hộp đánh dấu ở khung Control IDs > chọn nút > xuất hiện

hộp thoại Add Member Variable như hình sau:

+ Nhập tên biến hay tên đối tượng vào hộp VD:

m_check_bongda.

+ Nếu chọn là biến ở hộp , thì chọn kiểu dữ liệu ở hộp

Kiểu Giải nghĩa

BOOL Kiểu luận lý

+ Nếu chọn là đối tượng ở hộp , thì chọn lớp ở hộp

- Chọn thẻ > sau đó xuất hiện hộp thoại MFC ClassWizard như hình sau:

GV: Nguyễn Viết Nam 29

Trang 30

- Chọn tên định danh của hộp đánh dấu ở khung Object IDs > chọn thông điệp ở khung

Messages:

Thông điệp Ý nghĩa sự kiện

BN_CLICKED Nhấp chuộtBN_DOUBLECLICKED Nhấp đúp chuột

- Chọn nút > sau đó xuất hiện hộp thoại Add Member Fucntion như hình sau:

+ Đặt tên hàm cho hộp nhập liệu ở hộp Các trường hợp đặt tên hàm:

Thông điệp Tên hàm Ví dụ

BN_CLICKED OnCheck OnCheckChay

- Chọn nút để xóa hàm.

- Chọn nút để viết mã lệnh trong hàm như sau:

void CTen_Ung_DungDlg::OnCheckChay() {

// TODO: Add your control notification handler code here}

Retrieves the check state of a radio button or check box

Trả về trạng thái dấu Check của Check Box Control và

Radio Button Control

Cú pháp (Syntax)

int GetCheck( ) const;

BST_UNCHECKED : Không đặt dấu Check.

BST_CHECKED : Đặt dấu Check.

Ví dụ (Example)

if(m_check.GetCheck()==BST_CHECKED)

MessageBox("Ban la phai NU");

else MessageBox("Ban la phai NAM");

CButton::SetCheck

Mục đích (Purpose)

Sets or resets the check state of a radio button or check box

Thiết lập hay hủy bỏ dấu Check của Check Box Control

và Radio Button Control

Cú pháp (Syntax)

int GetCheck( ) const;

BST_UNCHECKED : Không đặt dấu Check.

BST_CHECKED : Đặt dấu Check.

Ví dụ (Example)

if(m_check.GetCheck()==BST_CHECKED)

MessageBox("Ban la phai NU");

else MessageBox("Ban la phai NAM");

Trang 31

4.9 Hộp danh sách-List Box (CListBox)

- Click chọn nút List Box trên thanh công cụ Điều khiển

- Khi đó biểu tượng con trỏ chuột là > Click chọn trên Hộp thoại-Dialog để có hộp danh sách là

Mã-Code

Gán Thuộc tính- Assign Properties

Vẽ-Draw

- Click chuột phải lên hộp danh sách trên Hộp thoại-Dialog > chọn Properties.

- Sau đó xuất hiện hộp thoại List Box Properties của hộp danh sách như hình sau:

+ Nhập tên định danh của hộp danh sách ở hộp VD: IDC_LIST_HOTEN.

+ Bỏ chọn hộp nếu muốn ẩn hộp danh sách.

+ Chọn hộp nếu muốn vô hiệu hóa hộp danh sách.

- Chọn thẻ > xuất hiện hộp thoại List Box Properties như hình sau:

+ Chọn hộp để chọn kiểu hộp danh sách Các kiểu như sau:

Kiểu Ý nghĩa

Single - Chỉ có nhiều nhất một phần tử được chọn

Multiple - Nhiều phần tử có thể cùng được lựa chọn Việc lựa chọn được thực hiện bằng chuột kết hợp với phím Shift và Ctrl.Extended - Nhiều phần tử có thể cùng được lựa chọn Việc lựa chọn được thực hiện bằng chuột kết hợp với kéo rê và nhấn nút trái của chuột.None - Không có phần tử nào có thể được lựa chọn

Khai báo

biến-Variable Declaration - Click chuột phải lên hộp danh sách trên Hộp thoại-Dialog > chọn ClassWizard.

- Chọn thẻ > sau đó xuất hiện hộp thoại MFC ClassWizard như hình sau:

GV: Nguyễn Viết Nam 31

Ngày đăng: 31/03/2014, 04:20

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w