Tài liệu SÁCH LẬP TRÌNH WINDOWS VỚI MFC Microsoft Visual C++ 6.0

Thảo luận trong 'Lập Trình' bắt đầu bởi Thúy Viết Bài, 5/12/13.

  1. Thúy Viết Bài

    Thành viên vàng

    Bài viết:
    198,891
    Được thích:
    167
    Điểm thành tích:
    0
    Xu:
    0Xu
    LỜI MỞ ĐẦU


    Ngôn ngữ lập trình C++ được biết đến như là một trong những ngôn ngữ

    lập trình mạnh nhất nhờ khả năng của nó trong việc triển khai phần mềm

    ở các mức độ khác nhau. Từ mức hệ thống đến mức ứng dụng, từ lập trình

    cấu trúc đến lập trình hướng đối tượng, từ lập trình dựa trên thuật giải đến

    lập trình trí tuệ nhân tạo, và từ lập trình cơ sở dữ liệu đến lập trình cơ sở

    tri thức , bất cứ đâu, khi mà người lập trình muốn thể hiện ý tưởng khoa

    học và nghệ thuật của mình trên máy tính thì C++ là một điều nghĩ đến

    trước tiên.

    Nhưng dù ý tưởng có bay bổng thế nào đi nữa thì cũng không thể bỏ qua

    vấn đề cài đặt mà môi trường cho ứng dụng là điều phải quan tâm. Với xu

    hướng sử dụng hệ điều hành Microsoft Windows như hiện nay, chúng ta

    buộc phải nghĩ đến việc cài đặt ứng dụng của mình trong môi trường này

    và khai thác nó sao cho ứng dụng hoạt động hiệu quả nhất.

    Microsoft Visual C++, sản phẩm của Microsoft, với khả năng biên dịch ưu

    việt và lối khai thác hệ thống rộng mở nhờ tập hợp lớp thư viện MFC cho

    C++ có đầy đủ các tiện ích giúp chúng ta vét được mọi ngõ ngách của

    Windows hầu phục vụ cho ứng dụng của mình.

    Từ những nhận định nói trên, cuốn sách này được thực hiện để cùng các

    bạn bắt đầu làm quen lập trình trong Windows áp dụng kỹ thuật lập trình

    hướng đối tượng với C++, nhằm khai thác hiệu quả thư viện MFC và từng

    bước du nhập vào thế giới tuyệt vời này thông qua các ứng dụng được sắp

    xếp theo các cấp độ tiến triển phù hợp.

    Trong lần xuất bản đầu tiên, cuốn sách này chắc không tránh khỏi thiếu

    sót. Chúng tôi rất mong tiếp thu ý kiến đóng góp và trao đổi cùng bạn đọc.

    Cuối cùng, chúng tôi xin chân thành cảm ơn bạn bè, đồng nghiệp đã cung

    cấp những nhận xét và kiến thức quí báu để thực hiện cuốn sách này. Xin

    cảm ơn các bạn học viên-sinh viên, những người đã cùng làm việc với

    chúng tôi qua nội dung này và đã có những ý kiến khách quan giúp chỉnh

    sửa cuốn sách kịp thời.



    TÀI LIỆU THAM KHẢO

    [1] Richard Simon, Windows 95 - Win32 Programming API-BIBLE,

    Waite Group Press 1996.

    [2] Jeff Prosise, Programming Windows 95 with MFC, Microsoft Press.

    [3] M. Tracy, Professional Visual C++ ISAPI Programming, Wrox Press.

    [4] Dr. GUI, Microsoft Developer Network - MSDN,

    Microsoft Corporation Software.

    [5] Dino Esposito,Visual C++ Windows Shell Programming, Wrox Press.

    


    PHẦN MỀM CẦN CÀI ĐẶT:

    - Microsoft Visual C++ 6.0 hoặc Microsoft Visual C++ .NET.

    - MSDN ( Microsoft Developer Network ), bản tháng 10/2003.

    MÃ NGUỒN:

    Source Code của các ví dụ minh họa trong cuốn sách này và của một số

    chương trình trò chơi mà chúng tôi mong muốn chia xẻ cùng bạn đọc

    được lưu trong đĩa mềm đính kèm, và có thể download từ địa chỉ:

    http://thanh.andisw.com/?id=16&id2=85

    WEB SITE:

    Source Code đặc sắc của nhiều tác giả trên thế giới có thể download:

    - http://msdn.microsoft.com

    - http://www.codeguru.com

    - http://www.codeproject.com

    - http://www.softechsoftware.it

    - http://www.flipcode.com

    - http://nps.vnet.ee

    LIÊN HỆ:

    - Tác giả: Lê Ngọc Thạnh

    - Cơ quan: Khoa Tin Học Quản Lý, Trường ĐHKT TP.HCM

    - Địa chỉ e-mail: <a class="__cf_email__" href="http://www.cloudflare.com/email-protection" data-cfemail="5935372d34383035192038313636773a3634">[email protected]<script type="text/javascript">
    (function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute(data-cfemail);if(a){s=;r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();


    <a class="__cf_email__" href="http://www.cloudflare.com/email-protection" data-cfemail="d5b0b8a595a0b0bdfbb0b1a0fba3bb">[email protected]<script type="text/javascript">
    (function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute(data-cfemail);if(a){s=;r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();




    MỤC LỤC

    CHƯƠNG 1 : MỘT SỐ KHÁI NIỆM LẬP TRÌNH

    TRONG MÔI TRƯỜNG WINDOWS

    1.1 Chương trình ( Program )

    1.2 Ứng dụng ( Application )

    1.3 Tiến trình ( Process )

    1.4 Tiểu trình (Thread )

    1.5 Thông điệp ( Message )

    1.5.1 Nguồn gốc của message

    1.5.2 Các loại message

    1.5.3 Số hiệu message (Message Indentifier – MessageID)

    1.5.4 Đặc tả message

    1.6 Cửa sổ giao diện (window) của ứng dụng

    1.7 Message queue

    1.8 Kiến trúc xử lý của ứng dụng trong Windows

    1.9 Resource của ứng dụng


    CHƯƠNG 2 : THƯ VIỆN MFC CỦA MICROSOFT

    & ỨNG DỤNG CƠ BẢN TRONG WINDOWS

    2.1 Thư viện MFC (Microsoft Foundation Class)

    2.2 Tiếp an MFC

    2.3 Tạo ứng dụng windows với MFC như thế nào ?

    2.4 Lớp quản lý tiểu trình CwinThread

    2.5 Lớp quản lý tiểu trình giao diện chính CwinApp

    2.6 Thực hiện ứng dụng đơn giản

    2.7 Thực hiện ứng dụng giao tác đơn giản

    2.8 Tạo mới Icon Resource cho ứng dụng

    2.9 Lưu trữ chương trình nguồn

    2.10 Lớp Cstring của MFC

    CHƯƠNG 3 : CÁC LỚP GIAO DIỆN ĐỒ HỌA CỦA MFC

    3.1 Các công cụ giao diện đồ họa

    3.2 Device Context

    3.3 Tọa độ trên giao diện đồ họa

    3.4 Các lớp MFC hỗ trợ GDI

    3.4.1 Các lớp đối tượng điểm, hình chữ nhật

    3.4.2 Lớp Cpen

    3.4.3 Lớp CBrush

    3.4.4 Lớp CFont

    3.4.5 Lớp CBitmap

    3.4.6 Lớp CPalette

    3.4.7 Lớp CRgn

    3.5 Lớp CDC

    3.6 Lớp CImageList


    CHƯƠNG 4 : CỬA SỔ GIAO DIỆN LỚP VÀ LỚP CWnd

    4.1 Cửa sổ giao diện

    4.2 Lớp CWnd

    4.3 Sử dụng đối tượng CWnd

    4.3.1 Sử dụng CWnd làm giao diện chính của ứng dụng

    4.3.2 Ứng dụng chỉ chạy một bản (instance) tại mỗi thời điểm


    CHƯƠNG 5 : XỬ LÝ MESSAGES

    5.1 Lớp xử lý message CCmdTarget:

    5.2 Khai báo mục xử lý message trong MessageMap

    5.3 Các lớp kế thừa CCmdTarget

    5.4 MessageMap của lớp kế thừa CWnd trong ứng dụng

    5.4.1 Cửa sổ của ứng dụng có chức năng hoạt động

    5.4.2 WM_PAINT và hành vi OnPaint của CWnd


    CHƯƠNG 6 : ỨNG DỤNG CÔNG CỤ GDI

    6.1 DC và BITMAP

    6.2 Ứng dụng với cửa sổ chính hiển thị ảnh

    6.3 Sao chép ảnh từø DC đến DC, phóng to & thu nhỏ ảnh

    6.4 DC trong bộ nhớ ( DC ảo) – vùng vẽ đệm lý tưởng

    6.5 Ảnh chuyển động trong vùng client

    6.6 CImageList – công cụ quản lý bộ ảnh cùng cỡ

    6.7 CRgn – Cửa sổ có hình dạng tùy ý


    CHƯƠNG 7 : MENU – PHÍM TẮT

    7.1 Định nghĩa

    7.2 Menu resoure

    7.3 Sử dụng menu resource

    7.4 Mục xử lý command message từ mục chọn của menu

    7.5 Phím tắt (hot key ) cho mục chọn trên menu

    7.6 Lớp quản lý menu – CMenu

    7.7 Xử lý điều khiển mục chọn của menu


    CHƯƠNG 8 : CÁC LỚP ĐỐI TƯỢNG NHẬP LIỆU

    ( WINDOWS CONTROLS )

    8.1 CStatic

    8.2 CEdit

    8.3 CButton

    8.4 ClistBox

    8.5 CComboBox

    8.6 CSpinButtonCtrl

    8.7 CProgressCtrl

    8.8 CscrollBar

    8.9 CSliderBar


    CHƯƠNG 9 : HỘP HỘI THOẠI

    9.1 Hộp hội thoại (Dialog)

    9.2 Lớp CDialog

    9.3 Tạo và sử dụng dialog trong chương trình

    9.3.1 Tạo dialog resource

    9.3.2 Khai báo lớp kế thừa CDialog sử dụng dialog resource

    9.3.3 Sử dụng dialog trong chương trình

    9.4 Liên kết giữa dialog và các thành phần khác

    9.5 Sử dụng dialog làm giao diện chính của ứng dụng

    9.5.1 Thực hiện ứng dụng với giao diện chính là dialog

    9.5.2 Dùng MFC wizard tạo ứng dụng với giao diện dialog

    9.6 Khai báo biến cho control trên dialog

    9.7 Khai thác các tiện ích hỗ trợ


    CHƯƠNG 10 : KHUNG CỬA SỔ GIAO DIỆN CHÍNH

    10.1 Khung cửa sổ giao diện (Frame Window)

    10.2 Thanh trạng thái (statusbar) & lớp CStatusbar

    10.3 Thanh công cụ (toolbar) & lớp CToolBar

    10.3.1 Thiết kế ToolBar resource

    10.3.2 Dùng toolbar resource cho CToolBar của FrameWnd

    10.4 Lớp CFrameWnd

    10.5 Sử dụng frame window làm giao diện chính

    10.5.1 Thực hiện ứng dụng với giao diện frame window

    10.5.2 String Table và CFrameWnd

    10.5.3 Dùng MFC wizard tạo ứng dụng giao diện framewindow


    CHƯƠNG 11 : CÁC KIẾN TRÚC DOCUMENT – VIEW

    11.1 CDocument

    11.2 CView

    11.3 CFrameWnd

    11.4 CDoctemplate

    11.5 Hỗ trợ từ phía đối tượng quản lý ứng dụng

    11.6 Trình tự tạo lập các đối tượng tham gia bộ DVF

    11.7 Text Document Appication

    11.8 Rich Text Format (rtf) Document Appication

    11.9 HTML Document View Appication

    11.10 Một số lớp view đặc biệt

    11.10.1 CListView

    11.10.2 CTreeView

    11.10.3 CSplitterWnd

    11.10.4 Sử dụng splitterwnd trong frame window

    11.10.5 Các ví dụ thực hành


    CHƯƠNG 12 : MỘT SỐ VẤN ĐỀ TRONG WINDOWS

    12.1 Tập tin INI

    12.2 System Registry

    12.3 Vùng Status Area trên Taskbar

    12.4 Ứng dụng ScreenSaver

    12.4.1 Đặc điểm

    12.4.2 Tham số dòng lệnh

    12.4.3 Đặc điểm giao tác với người dùng

    12.4.4 Thực hiện ứng dụng ScreenSaver đơn giản

    12.5 Ứng dụng sử dụng nhiều tiểu trình

    12.5.1 Tiểu trình xử lý nội

    12.5.2 Tiểu trình giao diện

    12.5.3 Các hàm hỗ trợ

    12.6 Lập trình Multimedia với MCI

    12.7 Ấn định một số tính năng của Windows

    12.8 Bẫy (hook) message (Windows Hook)

    12.8.1 Các kiểu hook (Hook Type)

    12.8.2 Danh sách hook (Hook Chain)

    12.8.3 Thủ tục hook (Hook Procedure)

    12.8.4 Các dịch vụ liên quan hook

    12.8.5 Ứng dụng hook messages của keyboard

    12.9 Cài đặt chế độ thực hiện ứng dụng tự động


    CHƯƠNG 13 : MFC VỚI INTERNET

    13.1 Giao thức truyền thông TCP/IP

    13.1.1 Giới thiệu

    13.1.2 Kiến trúc của giao thức TCP/IP trên mô hình DARPA

    13.1.3 Địa chỉ IP

    13.1.4 Subnet

    13.1.5 Subnet Mask

    13.1.6 Host domain name

    13.1.7 IP Routing

    13.2 Lập trình TCP/IP với Winsock

    13.2.1 Port

    13.2.2 Socket

    13.2.3 Một số cấu trúc dữ liệu của Winsock API

    13.2.4 Một số dịch vụ của Winsock API

    13.3 MFC với lập trình Winsock

    13.3.1 Khởi động Winsock

    13.3.2 Lớp CAsyncSocket

    13.4 Lập trình Winsock cho giao thức UDP

    13.5 Lập trình Winsock cho giao thức TCP

    13.6 TCP với SMTP (Simple Mail Transfer Protocol)

    13.6.1 Qui ước giữa ứng dụng gửi mail và nhận mail

    13.6.2 Thiết kế ứng dụng gửi mail

    13.7 TCP với Pop3 (Post Office Protocol – Version 3)

    13.7.1 Qui ước giữa ứng dụng mail client và mail server

    13.7.2 Thiết kế ứng dụng nhận mail

    13.8 TCP với HTTP và FTP

    13.8.1 Lớp CInternetSession

    13.8.2 Lớp CInternetFile

    13.8.3 Lớp CFtpConnection

    13.8.4 Lớp CFtpFindFile

    13.8.5 Lớp CHttpConnection

    13.8.6 Lớp CHttpFile

    13.8.7 Thực hiện ứng dụng FTP client đơn giản

    13.8.8 Thực hiện ứng dụng HTTP client đơn giản


    Phụ lục A: MỘT SỐ VẤN ĐỀ

    LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

    A.1 Lập trình hướng đối tượng (OOP)

    A.2 Các khái niệm

    A.2.1 Lớp (Class)

    A.2.2 Đối tượng (Object)

    A.2.3 Thuộc tính (Attribute)

    A.2.4 Hành vi (Method)

    A.2.5 Chương trình (Program)

    A.3 Đặc điểm lập trình hướng đối tượng

    A.4 Phân loại thuộc tính và hành vi

    A.5 Các hành vi đặc biệt

    A.6 Khai báo lớp, đối tượng trong C++

    A.6.1 Khai báo lớp

    A.6.2 Khai báo đối tượng

    A.6.3 Sử dụng đối tượng trong chương trình

    A.7 Kế thừa trong C++

    A.7.1 Kế thừa hành vi tạo lập

    A.7.2 Kế thừa hành vi hủy bỏ

    A.7.3 Thực hiện hành vi lớp cơ sở

    A.8 Khai báo hành vi toán tử số học

    A.9 Con trỏ this

    A.10 Hành vi virtual

    A.11 Thuộc tính và hành vi tĩnh




    CHÚ THÍCH : CUỐN SÁCH NÀY GỒM 244 TRANG
     

    Các file đính kèm:

Đang tải...