intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Visual C++ 6.0

Chia sẻ: LeoNguyen.com | Ngày: | Loại File: PDF | Số trang:62

251
lượt xem
88
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Là 1 trình biên dịch, giúp người lập trình viên viết ra các chương trình ứng dụng trên Windows … Khởi động- Open Click chọn nút nút chọn chọn Microsoft Visual Studio 6.0 chọn Microsoft Visual C++ 6.0.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....

Chủ đề:
Lưu

Nội dung Text: Bài giảng Visual C++ 6.0

  1. 1. Cài đặt (Setup) 1.1. Visual C++ 6.0 2. Cửa sổ làm việc (Window) 2.1. Khởi động-Open,Thoát-Exit Giới thiệu - Là 1 trình biên dịch, giúp người lập trình viên viết ra các chương trình ứng dụng trên Windows … Khởi động- - Click chọn nút nút > chọn > chọn Microsoft Visual Studio 6.0 > chọn Microsoft Open Visual C++ 6.0 . Thoát-Exit 2.2. Giao diện (Interface) Thanh trình đơn-Menu bar 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. 1 GV: Nguyễn Viết Nam
  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. Ấn phím Alt + 2 * Vùng soạn thảo: Thiết kế giao diện và viết mã chương trình. Vùng làm việc- Workspace 3. Dự án (Project) - DPW 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 Tạo mới-New * Mở hộp thoại New: Click chọn menu > chọn New. Ấn phím Ctrl + N. - Sau đó xuất hiện hộp thoại New: * Ứng dụng Windows: - Chọn thẻ > chọn mục ở khung danh sách. - Nhập tên ứng dụng vào hộp . - Chọn vị trí lưu ở hộp . - Chọn nút . - Chọn: + 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. 2 GV: Nguyễn Viết Nam
  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: 3 GV: Nguyễn Viết Nam
  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 . 4 GV: Nguyễn Viết Nam
  5. * Cập nhật ứng dụng: C1: Click chọn menu > chọn Save Workspace. Lưu trữ-Save C2: Click chọn menu > chọn Save All. * Cập nhật file mã nguồn: Click chọn menu > chọn Save. Ấn phím Ctrl + S. Biên dịch-Compile Chạy-Run Biên dịch,Chạy-Compile,Run Chạy từng bước-Debug * Biên dịch-Compile: C1: Click chọn nút Build . Chạy chương trình-Compile C2: Click chọn menu > chọn Build hay Rebuild All. Ấn phím F7. * Chạy-Run: C1: Click chọn nút Execute Program . C2: Click chọn menu > chọn Execute. Ấn phím Ctrl + F5. * Đóng ứng dụng: Đóng-Close Click chọn menu > chọn Close Workspace. * Mở hộp thoại Open: C1: Click chọn nút Open . C2: Click chọn menu > chọn Open. Ấn phím Ctrl + O. - Sau đó xuất hiện hộp thoại Open: Mở-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) 4.1. Trình đơn-Menu (CWnd,CMenu) Thiết kế-Design Tạo-Create Vẽ-Draw Tài liệu đơn, đa (Single, Multiple - Có sẵn menu là . Document) 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: 5 GV: Nguyễn Viết Nam
  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- - Giống Menu. Context Menu Gán Thuộc tính- Assign Properties * 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: Thiết kế- Design + 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 - Menu đã kết nối sẵn. Document) - Click chuột phải lên Hộp thoại-Dialog > chọn Properties > chọn tên định danh Hộp thoại (Dialog) 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 ID_TênMenu_TênMenuCon. Viết mã- Coding Trình đơn ngữ cảnh- - Giống Menu. Context Menu 6 GV: Nguyễn Viết Nam
  7. Lập trình-Progarmming Khai báo biến- Variable Declaration - 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 - Đã có sẵn. Document) - Xuất hiện hộp thoại Adding a Class: Hộp thoại (Dialog) - Chọn hộp > chọn OK. - Chọn lớp Dlg (ví dụ Cbai1Dlg) trong khung . - Chọn thẻ > sau đó xuất hiện hộp thoại MFC ClassWizard như hình sau: - Chọn lớp View (ví dụ Cbai1View) ở hộp . Chèn Thông điệp- Add Message Tài liệu đơn, đa (Single, Multiple Document) 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: 7 GV: Nguyễn Viết Nam
  8. Thông điệp Ý nghĩa sự kiện COMMAND Nhấp chuột UPDATE_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: Thông điệp Tên hàm Ví dụ COMMAND OnMenuMenuCon OnTaptinMo UPDATE_COMMAND_UI OnUpdateMenuMenuCon OnUpdateTaptinMo - Chọn nút để xóa hàm. - Chọn nút để viết mã lệnh trong hàm như sau: Thông điệp Mã void CTen_Ung_DungDlg::OnMenuMenuCon() { COMMAND // TODO: Add your control notification handler code here } void CTen_Ung_DungView::OnUpdateMenuMenuCon(CCmdUI* pCmdUI) { // TODO: Add your command update UI handler code here UPDATE_COMMAND_UI if(…) pCmdUI->SetCheck(1); else pCmdUI->SetCheck(0); } - Mở hộp thoại MFC ClassWizard. - Chọn thẻ > sau đó xuất hiện hộp thoại MFC ClassWizard như hình sau: Trình đơn ngữ cảnh- Context Menu - 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: 8 GV: Nguyễn Viết Nam
  9. Progarmming void CMenuDlg::OnPheptinhCong() { // TODO: Add your command handler code here UpdateData(TRUE); m_c = m_a + m_b; UpdateData(FALSE); checkPT(MNU_CONG); } void CMenuDlg::OnPheptinhTru() { // TODO: Add your command handler code here UpdateData(TRUE); m_c = m_a - m_b; UpdateData(FALSE); checkPT(MNU_TRU); } void CMenuDlg::OnPheptinhNhan() { // TODO: Add your command handler code here UpdateData(TRUE); m_c = m_a * m_b; UpdateData(FALSE); checkPT(MNU_NHAN); } void CMenuDlg::OnPheptinhChia() { // TODO: Add your command handler code here UpdateData(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 here OnOK(); } Mục đích Sets the menu to the specified menu. (Purpose) Đặt một thanh menu vào cửa sổ. BOOL SetMenu( CWnd::SetMenu Cú pháp CMenu* pMenu (Syntax) ); Ví dụ (Example) Retrieves a pointer to the menu for this window. Mục đích Hàm trả về con trỏ quản lý thanh Menu của một cửa (Purpose) sổ. CWnd::GetMenu Cú pháp CMenu* GetMenu( ) const; (Syntax) Ví dụ (Example) CMenu::GetSubMenu Retrieves a pointer to a pop-up menu. Mục đích Trả về một con trỏ đối tượng CMenu của một popup (Purpose) menu. Cú pháp CMenu* GetSubMenu( 9 GV: Nguyễn Viết Nam
  10. int nPos (Syntax) ) const; Ví dụ (Example) Displays a floating pop-up menu at the specified Mục đích location and tracks the selection of items on the pop- (Purpose) up menu. Hiển thị một popup menu tại một vị trí xác định. BOOL TrackPopupMenu( UINT nFlags, int x, Cú pháp int y, (Syntax) CWnd* pWnd, LPCRECT lpRect = 0 ); CMenu::TrackPopupMenu void CMenuDlg::OnContextMenu(CWnd* pWnd, CPoint point) { // TODO: Add your message handler code here Ví dụ CMenu* pMenu = GetMenu(); (Example) CMenu* pSubMenu = pMenu- >GetSubMenu(0); pSubMenu- >TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this); } Loads a menu resource from the application's Mục đích executable file and attaches it to the CMenu object. (Purpose) Nạp và gắn kết một thanh menu vào một đối tượng thuộc lớp CMenu. BOOL LoadMenu( LPCTSTR lpszResourceName CMenu::LoadMenu Cú pháp ); (Syntax) BOOL LoadMenu( UINT nIDResource ); Ví dụ (Example) Adds check marks to or removes check marks from Mục đích menu items in the pop-up menu. (Purpose) Đặt dấu Check hay loại bỏ dấu Check cho một mục chọn trên thanh menu. UINT CheckMenuItem( Cú pháp UINT nIDCheckItem, (Syntax) UINT nCheck ); void CMenuDlg::checkPT(UINT menu_id) { CMenu* pMenu = GetMenu(); CMenu::CheckMenuItem pMenu->CheckMenuItem(MNU_CONG, MF_UNCHECKED); pMenu->CheckMenuItem(MNU_TRU, Ví dụ MF_UNCHECKED); (Example) pMenu->CheckMenuItem(MNU_NHAN, MF_UNCHECKED); pMenu->CheckMenuItem(MNU_CHIA, MF_UNCHECKED); pMenu->CheckMenuItem(menu_id, MF_CHECKED); } CMenu::EnableMenuItem Mục đích Enables, disables, or dims a menu item. (Purpose) Enables, Disables một mục chọn trên thanh menu. Cú pháp UINT EnableMenuItem( (Syntax) UINT nIDEnableItem, 10 GV: Nguyễn Viết Nam
  11. UINT nEnable ); Ví dụ (Example) 4.2. Cửa sổ-Dialog~Lớp-Class Thuộc tính-Property .h Phương thức-Method .cpp 4.2.1. Modal (CDialog) Thiết kế-Design Tạo-Create * 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: Vẽ-Draw - 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 View. Viết mã- Coding Gán Thuộc tính- Assign Properties - 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: Vẽ-Draw + Nhập tên định danh của Hộp thoại-Dialog ở hộp . VD: IDC_DIALOG_MODAL. + Nhập tiêu đề của Hộp thoại-Dialog ở hộp . VD: Modal. - 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 - Click chuột phải lên Hộp thoại-Dialog > chọn ClassWizard. Declaration - Xuất hiện hộp thoại Adding a Class: 11 GV: Nguyễn Viết Nam
  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à CTên_Lớp. Chèn Thông điệp-Add Message Viết mã-Coding Viết mã- Mục đích Call this member function to invoke the modal dialog box and return Coding (Purpose) the dialog-box result when done. Cú pháp virtual INT_PTR DoModal( ); (Syntax) Tài liệu đơn, đa - Copy dòng include “CHocvien.h” của (Single, Multiple lớp Học viên .cpp vào lớp View .cpp Document) - Copy dòng include “CHocvien.h” của Hộp thoại (Dialog) lớp Học viên .cpp vào lớp Dlg .cpp CHocvien dlg; CDialog::DoModal dlg.DoModal(); Ví dụ CModal dlg; (Example) CString s; dlg.m_hoten="Tran HAo"; dlg.m_diem=5; if(dlg.DoModal()==IDOK){ m_list.InsertItem(0,dlg.m_hoten); s.Format("%d",dlg.m_diem); m_list.SetItemText(0,1,s); } OnInitDialog Mục đích This member function is called in response to the WM_INITDIALOG (Purpose) message. Cú pháp virtual BOOL OnInitDialog(); (Syntax) Ví dụ BOOL CWidth::OnInitDialog() (Example) { CDialog::OnInitDialog(); // TODO: Add extra initialization here m_slider.SetRange (1,20); 12 GV: Nguyễn Viết Nam
  13. m_slider.SetPos (mWidth); m_static.Format ("%d",m_slider.GetPos ()); UpdateData (FALSE); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } 4.2.2. Modeless (CDialog) Thiết kế-Design Tạo-Create * 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: Vẽ-Draw - 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 View. Viết mã- Coding Gán Thuộc tính- Assign Properties - 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: Vẽ-Draw + Nhập tên định danh của Hộp thoại-Dialog ở hộp . VD: IDC_DIALOG_MODAL. + Nhập tiêu đề của Hộp thoại-Dialog ở hộp . VD: Modal. - 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 - Click chuột phải lên Hộp thoại-Dialog > chọn ClassWizard. Declaration - Xuất hiện hộp thoại Adding a Class: 13 GV: Nguyễn Viết Nam
  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à CTên_Lớp. Chèn Thông điệp-Add Message Viết mã-Coding Mục đích Call this function to get a pointer to a child window's parent window (if (Purpose) any). Cú pháp CWnd* GetParent( ) const; (Syntax) Tài liệu đơn, đa - Copy dòng include “CHocvien.h” của lớp Học (Single, viên .cpp vào lớp View .cpp Multiple Document) - 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ụ Viết CModeless* dlg_ml;) trong lớp Dialog cha .h sau mã- CWnd::GetParent dòng //Construction Coding Hộp thoại Ví dụ - Trong hàm OnInitDialog() của Dialog cha .cpp, (Dialog) (Example) nhập: dlg_ml= new CModeless; dlg_ ml- >Create(IDD_DIALOG_MODELESS,this); - Gọi Dialog: dlg_ml->ShowWindow(SW_SHOW); CDialogCha *pDlgCha; pDlgCha=(CdialogModeless*)GetParent(); pDlgCha-> Serialize Tạo 1 lớp dẫn xuất từ lớp Cobject. - Lớp CDiem DECLARE_SERIAL(CDiem); Trong lớp CDiem.h void Serialize(CArchive& ar); 14 GV: Nguyễn Viết Nam
  15. // 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 Trong lớp CDiem.cpp ar m2 >> mWidth >> mColor; } } - Trong phương thức Serialize tại dòng cuối: Trong lớp Doc.h mDS.Serialize(ar); - Trong file cpp: IMPLEMENT_SERIAL(CDiem, CObject,1) … void CDiem::Serialize(CArchive& ar) { if (ar.IsStoring()) { // TODO: add storing code here ar m2 >> type >> color; } } CFont (CFontDialog) Thiết kế-Design Tạo-Create Vẽ-Draw Viết mã-Coding Gán Thuộc tính- Assign Properties Vẽ-Draw Viết mã-Coding Lập trình-Progarmming Khai báo biến-Variable Declaration Chèn Thông điệp-Add Message Viết mã-Coding Viết mã- Deletes the attached Windows GDI object from memory Coding Mục đích by freeing all system storage associated with the (Purpose) Windows GDI object. CFont::DeleteObject Cú pháp BOOL DeleteObject( ); (Syntax) Ví dụ (Example) CFontDialog::GetCurrentFont Call this function to assign the characteristics of the Mục đích currently selected font to the members of a LOGFONT (Purpose) structure. Cú pháp void GetCurrentFont( (Syntax) LPLOGFONT lplf 15 GV: Nguyễn Viết Nam
  16. ); Ví dụ (Example) Mục đích The LOGFONT structure defines the attributes of a font. (Purpose) typedef struct tagLOGFONT { LONG lfHeight; LONG lfWidth; LONG lfEscapement; LONG lfOrientation; LONG lfWeight; BYTE lfItalic; Cú pháp BYTE lfUnderline; LOGFONT (Syntax) BYTE lfStrikeOut; BYTE lfCharSet; BYTE lfOutPrecision; BYTE lfClipPrecision; BYTE lfQuality; BYTE lfPitchAndFamily; TCHAR lfFaceName[LF_FACESIZE]; } LOGFONT, *PLOGFONT; Ví dụ (Example) Mục đích Call this function to retrieve the selected font color. (Purpose) Cú pháp CFontDialog::GetColor COLORREF GetColor( ) const; (Syntax) Ví dụ (Example) Mục đích Initializes a CFont object with the characteristics given (Purpose) in a LOGFONT structure pointed to by lpLogFont. BOOL CreateFontIndirect( Cú pháp CFont::CreateFontIndirect const LOGFONT* lpLogFont (Syntax) ); Ví dụ (Example) CFontDialog dlg; CFont mFont; LOGFONT font; COLORREF color; if(dlg.DoModal()==IDOK){ mFont.DeleteObject (); dlg.GetCurrentFont(&font); color=dlg.GetColor(); mFont.CreateFontIndirect(&font); m_static_font.SetFont(&mFont); } 4.3. Nút-Button (CButton,CWnd) Giới thiệu- - Là phím nổi để người sử dụng ấn chuột vào đó và thực hiện một sự kiện nào đó. Nút lệnh có thể Introduction được cài hình ảnh lên nó và được viết text lên đó. Thiết kế-Design Tạo-Create - Click chọn nút Button trên thanh công cụ Điều khiển. Vẽ-Draw - 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 16 GV: Nguyễn Viết Nam
  17. - 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: Thiết kế- Design + 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. + Bỏ chọn hộp nếu muốn ẩn nút. + Chọn hộp nếu muốn vô hiệu hóa nút. - 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 - 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: Khai báo biến- - Chọn tên định danh của nút ở khung Control IDS > chọn nút > xuất hiện hộp Variable Declaration 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. 17 GV: Nguyễn Viết Nam
  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 Message BN_CLICKED Nhấp chuột BN_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 } Viết mã-Coding Lập trình- Mục đích Retrieves a pointer to the specified control or child Progarmming (Purpose) window in a dialog box or other window. CWnd* GetDlgItem( int nID ) const; Cú pháp CWnd:: GetDlgItem void GetDlgItem( (Syntax) int nID, HWND* phWnd ) const; Ví dụ CButton* (Example) pButton=(CButton*)GetDlgItem(IDC_BUTTON1); Mục đích Hàm trả về khác 0 nếu cửa sổ Enable. (Purpose) Cú pháp CWnd::IsWindowEnabled BOOL IsWindowEnabled( ) const; (Syntax) Ví dụ (Example) CWnd::EnableWindow Mục đích Enables or disables mouse and keyboard input. (Purpose) Enable (TRUE) hoặc Disable (FALSE) một cửa sổ. Cú pháp BOOL EnableWindow( (Syntax) BOOL bEnable = TRUE 18 GV: Nguyễn Viết Nam
  19. ); CButton* pButton2=(CButton*)GetDlgItem(IDC_BUTTON2); Ví dụ if(pButton2->IsWindowEnabled()) (Example) pButton2->EnableWindow(FALSE); else pButton2->EnableWindow(TRUE); Mục đích Enables or disables mouse and keyboard input. (Purpose) Hàm trả về khác 0 nếu cửa sổ Visible. Cú pháp BOOL IsWindowVisible( ) const; (Syntax) CWnd::IsWindowVisible CButton* pButton2=(CButton*)GetDlgItem(IDC_BUTTON2); Ví dụ if(pButton2->IsWindowEnabled()) (Example) pButton2->EnableWindow(FALSE); else pButton2->EnableWindow(TRUE); Sets the visibility state of the window. Mục đích Đặt trạng thái Visible của cửa sổ (SW_HIDE: ẩn cửa (Purpose) sổ, SW_SHOW: hiện cửa sổ). BOOL ShowWindow( Cú pháp int nCmdShow (Syntax) CWnd::ShowWindow ); CButton* pButton3=(CButton*)GetDlgItem(IDC_BUTTON3); Ví dụ if(pButton3->IsWindowVisible()) (Example) pButton3->ShowWindow(SW_HIDE); else pButton3->ShowWindow(SW_SHOW); Mục đích Sets the window's title to the specified text. (Purpose) Đặt tiêu đề cho một cửa sổ. void SetWindowText( Cú pháp LPCTSTR lpszString (Syntax) ); CWnd::SetWindowText CButton* pButton3=(CButton*)GetDlgItem(IDC_BUTTON3); Ví dụ if(pButton3->IsWindowVisible()) (Example) pButton3->ShowWindow(SW_HIDE); else pButton3->ShowWindow(SW_SHOW); Copies the CWnd caption title (if it has one) into the buffer pointed to by lpszStringBuf or into the destination Mục đích string rString. (Purpose) 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). int GetWindowText( LPTSTR lpszStringBuf, CWnd::GetWindowText int nMaxCount Cú pháp ) const; (Syntax) void GetWindowText( CString& rString ) const; CButton* Ví dụ pButton4=(CButton*)GetDlgItem(IDC_BUTTON4); (Example) pButton4->SetWindowText("Nut 4"); 4.4. Nhãn-Static Text (CString,CStatic) - 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 Giới thiệu- 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 Introduction 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 19 GV: Nguyễn Viết Nam
  20. - Click chọn nút Static Text trên thanh công cụ Điều khiển. Vẽ-Draw - 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 - 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. Thiết kế-Design + 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 - Click chuột phải lên nhãn trên Hộp thoại-Dialog > chọn ClassWizard. Declaration - 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: 20 GV: Nguyễn Viết Nam
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2