Giải thuật (Algorithm)

Một phần của tài liệu Bài giảng Visual C++ 6.0 pot (Trang 57 - 62)

5.1. Thoát-Exit

Cú pháp-Syntax OnOK();

5.2. GetDlgItem

Mục đích-

Purpose - Trả về con trỏ chỉ đến một Control hoặc cửa sổ con trong một Dialog hoặc 1 cửa sổ khác có chỉ số nID.

Mô hình-Model ID của Điều khiển GetDlgItem Con trỏ

Cú pháp-Syntax

virtual CWnd* GetDlgItem( int nID

) const;

virtual void GetDlgItem( int nID,

HWND* phWnd

) const;

5.3. ShowWindow

Mô hình-Model

UpdateData TRUE (Đúng)

Điều khiển Biến UpdateData FALSE (Sai)

Điều khiển Biến

Cú pháp-Syntax BOOL UpdateData(BOOL bSaveAndValidate)

5.4. UpdateData

Mô hình-Model

UpdateData TRUE (Đúng)

Điều khiển Biến UpdateData FALSE (Sai)

Điều khiển Biến

Cú pháp-Syntax BOOL UpdateData(BOOL bSaveAndValidate) Lập trình-

Progarmming * - Hàm Cập nhật Button trong quá trình thực thi (Lớp CWnd)IsWindowEnabled(): Hàm trả về khác 0 nếu cửa sổ :Enable. BOOL IsWindowEnabled( ) const;

- Hàm EnableWindow(): Enable (TRUE) hoặc Disable (FALSE) một cửa sổ. BOOL EnableWindow(

BOOL bEnable = TRUE ); - Ví dụ-Example: CButton* pButton2=(CButton*)GetDlgItem(IDC_BUTTON2); if(pButton2->IsWindowEnabled()) pButton2->EnableWindow(FALSE); else pButton2->EnableWindow(TRUE);

- Hàm IsWindowVisibled(): hàm trả về khác 0 nếu cửa sổ Visible. BOOL IsWindowVisible( ) const;

- Hàm ShowWindow(): Đặt trạng thái Visible của cửa sổ (SW_HIDE:ẩn cửa sổ, SW_SHOW: hiện cửa sổ) 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);

- Hàm SetWindowText(): Đặt tiêu đề cho một cửa sổ. void SetWindowText(

LPCTSTR lpszString

);

· Hàm GetWindowText(): 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, int nMaxCount ) const; void GetWindowText( CString& rString ) const; - Ví dụ-Example:

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

Đồ họa-Graphic Vẽ hình-Draw

Tạo lớp CDiem

- Click chọn menu > chọn New Class. - Sau đó xuất hiện hộp thoại New Class:

+ Chọn loại lớpGeneric Class ở hộp . + Nhập tên lớp ở hộp .

+ Nhập lớp kế thừaCObject ở mục . + Nhập phạm vipublic ở mục .

- Vào lớp CDiem.h, nhập nội dung sau vào phần public: CPoint m1,m2; //Khai bao 2 diem

int mShape; //Bien loai hinh int mWidth; //Bien do day COLORREF color; //Bien mau

Lớp Doc.h

- Nhập nội dung sau vào phần //Attributes:

CPoint mOld, mCur; //Khai bao 2 diem CObArray mDS; //Tao mang danh sach int mShape; //Bien loai hinh

int mWidth; //Bien do day

sCOLORREF mColor; //Bien mau Sự kiện

WM_LbuttonDown của lớp View

CVehinhDoc* pDoc = GetDocument(); if (nFlags & MK_LBUTTON)

{ pDoc->mOld = point; } Sự kiện WM_LbuttonUp của lớp View Sự kiện WM_MouseMove

của lớp View CVehinhDoc* pDoc = GetDocument();if (nFlags & MK_LBUTTON) {

pDoc->mCur = point;

} Phương thức OnDraw của lớp View CDiem* pDiem; //CPen* pPen;

//Ve cac diem truoc do den diem hien tai for(int i=0; i<pDoc->mDS.GetSize(); i++) { //mPen.DeleteObject(); pDiem = (CDiem*)pDoc->mDS.GetAt(i); //mPen.CreatePen(PS_SOLID, 1, pDiem->color); //if(i==0) //pPen = pDC->SelectObject(&mPen); //else //pDC->SelectObject(&mPen);

DrawShape(pDC, pDiem->type, pDiem->m1, pDiem->m2); }

DrawShape(pDC, pDoc->type, pDoc->m1, pDoc->m2); Hàm DrawShape

Lớp View.cpp

- Nhập dòng #include "Diem.h".

- Chọn thẻ > Click chuột phải lên lớp View > Chọn Add Member Function.

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

o Nhập kiểu dữ liệu trả vềvoid ở hộp .

o Nhập tên hàmDrawShape ở hộp .

- Nhập đối số cho hàm như sau:

DrawShape(CDC* pDC, int mShape, CPoint m1, CPoint m2)

- Kế đó nhập nội dung hàm như sau:

void CVeHinhView::DrawShape(CDC* pDC, int mShape, CPoint m1, CPoint m2) switch(mShape) { case 1: pDC->MoveTo(m1); pDC->LineTo(m2); break; case 2:

pDC->Rectangle(m1.x, m1.y, m2.x, m2.y); break;

case 3:

pDC->Ellipse(m1.x, m1.y, m2.x, m2.y); break;

} }

Lớp View.h

- Thêm đối số cho hàm DrawShape như sau:

// Implementation public:

void DrawShape(CDC* ,int ,CPoint ,CPoint ); Sự kiện WM_LButtonUp

của lớp View

CVehinhDoc* pDoc = GetDocument(); CDiem* pDiem = new CDiem();

pDiem->m1 = pDoc->mOld; pDiem->m2 = pDoc->mCur; pDiem->mShape = pDoc->mShape; pDiem->mColor = pDoc->mColor; pDoc->mDS.Add(pDiem); }

- MFC: CVeHinhView > CVeHinhView > WM_LButtonDown - MFC: CVeHinhView > CVeHinhView > WM_LButtonUp - MFC: CVeHinhView > CVeHinhView > WM_MouseMove

- MFC: CVeHinhView > ID_LUACHON_DUONGTHANG > COMMAND void CVehinhView::OnLuachonDuongthang()

{

// TODO: Add your command handler code here CVehinhDoc* pDoc = GetDocument();

pDoc->type = 1; //line; }

- MFC: CVeHinhView > ID_LUACHON_DUONGTHANG > UPDATE_COMMAND_UI: void CVehinhView::OnUpdateLuachonDuongthang(CCmdUI* pCmdUI)

{

// TODO: Add your command update UI handler code here CVehinhDoc* pDoc = GetDocument();

if(pDoc->type==1)

pCmdUI->SetCheck(1); else

pCmdUI->SetCheck(0); }

Thiết kế Điều khiển-Control Design Vẽ-Draw

1) Resource View > Menu > IDR_MAINFRAME ID_LUACHON_DUONGTHANG

ID_LUACHON_HINHCHUNHAT ID_LUACHON_ELIP

Thuộc tính-Properties Viết mã-Coding

Khai báo Biến-Variable Declaration Chèn Thông điệp- Add Message

1. Cài đặt (Setup) ... 1

1.1. Visual C++ 6.0 ... 1

2. Cửa sổ làm việc (Window) ... 1

2.1. Khởi động-Open,Thoát-Exit ... 1

2.2. Giao diện (Interface) ... 1

3. Dự án (Project) - DPW ... 2 * Cập nhật ứng dụng: ... 5 ... 5 ... 5 ... 5 ... 5 * Đóng ứng dụng: ... 5 ... 5

4. Giao diện (Interface) ... 5

4.1. Trình đơn-Menu (CWnd,CMenu) ... 5

4.2. Cửa sổ-Dialog~Lớp-Class ... 11

4.2.1. Modal (CDialog) ... 11

4.2.2. Modeless (CDialog) ... 13

4.3. Nút-Button (CButton,CWnd) ... 16

4.4. Nhãn-Static Text (CString,CStatic) ... 19

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

4.6. Khung nhóm-Group Box ... 24

4.7. Hộp lựa chọn-Radio Box (CButton) ... 25

4.8. Hộp đánh dấu-Check Box (CButton) ... 28

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

4.10. Hộp danh sách thả xuống-Combo Box (CComboBox) ... 35

4.11. Hộp ngày giờ-Date Time Picker (COleDateTime, CTime) ... 39

4.12. Hộp ngày tháng-Month Calendar Control (COleDateTime, CTime) ... 42

4.13. Thời gian-Timer (COleDateTime, CTime) ... 42

4.14. Thanh tiến trình-Progress (CProgressCtrl) ... 43

4.15. Thanh cuộn-Scroll Bar (CScrollBar) ... 46

4.16. Thanh trượt-Slider (CSliderCtrl) ... 46

4.17. Hộp tăng giảm giá trị-Spin () ... 49

4.18. Cây-Tree Control (CTreeCtrl) ... 49

4.19. Thẻ-Tab Control (CTreeCtrl) ... 52

4.20. Danh sách-List Control (CListCtrl) ... 52

4.21. Picture ... 56

4.22. Images, Bitmaps và Icons ... 56

4.23. Hoạt hình-Animate ... 56

4.24. Hộp địa chỉ mạng-IP Address ... 57

4.25. Hộp thông báo-Message Box (Lớp CWnd) ... 57

5. Giải thuật (Algorithm) ... 57

5.1. Thoát-Exit ... 57

5.2. GetDlgItem ... 57

5.3. ShowWindow ... 58

Một phần của tài liệu Bài giảng Visual C++ 6.0 pot (Trang 57 - 62)

Tải bản đầy đủ (PDF)

(62 trang)