LOGO
Khoa Công nghệ phần mềm
GV: Phạm Thi Vương
Lập trình môi trường Window
Thông tin môn học
vTên: Lập trình môi trường Window
vSố tín chỉ: 4
vLý thuyết: 45; Thực hành 30
vWebsite: ltw.ptvuong.com
vMail:
[K2C5][Nhom x][tiêu đề mail]
2
Tài liệu tham khảo
vProgramming Microsoft Windows with C#,
Charles Petzold, Microsoft Press, 2002
v.NET Windows Forms in a Nutshell,
MatthewAdams, IanGriffiths, O'Reilly,
2003
vWindows Forms Programming with C#,
Erik Brown, Manning, 2002
vltw.ptvuong.com
3
Đánh giá kết quả
vNhóm 3-5 sv (24/02/2009)
vĐồ án giữa kỳ : 2 đ
vĐồ án cuối kỳ: 8đ
vNgôn ngữ thực hành:
C# với VS 2005
4
Nội dung môn học
v Chương 1: Tổng quan về lập trình môi trường Window
v Chương 2: Giới thiệu C#
v Chương 3: Window, Dialog, các Control
v Chương 4: Sự kiện nhập liệu
v Chương 5: Làm việc với văn bản
v Chương 6: Đồ họa
v Chương 7: Multi-Document Interface (MDI)
v Chương 8: Đa tiến trình
v Chương 9: Ảnh Bitmap, Xử lý âm thanh
v Chương 10: Case Study
5
LOGO
LOGO
www.themegallery.com
LOGO
Phạm Thi Vương
Tổng quan
lập trình môi trường Windows
Lịch sử Windows
Windows Desktop
Windows Server
Môi trường Windows
vHệ điều hành 32/64 bit
vGiao diện người dùng kiểu đồ hoạ (GUI)
vĐa nhiệm
3
Giao diện người dùng kiểu đồ hoạ (GUI)
vVisual Interface
v WYSIWYG
v Các ứng dụng Windows có giao diện
thống nhất với cùng dáng vẻ:
§ một cửa sổ hình chữ nhật
§ thanh tiêu đề
§ menu, hộp hội thoại, thanh trượt
Lập trình môi trường Windows
4
Đa nhiệm
v Nhiều chương trình có thể được kích hoạt
và chạy cùng một lúc
v Mỗi chương trình chiếm một phần tài
nguyên của hệ thống và có một phần bộ
nhớ thường trú
v Windows 32 bits hoạt động theo cơ chế
preemptive. Mỗi chương trình có thể được
tách thành các thread thực hiện cùng lúc
Lập trình môi trường Windows
5
Quản lý bộ nhớ
vMã chương trình và dữ liệu có thể dịch
chuyển trong bộ nhớ vật lý
vKhả năng sử dụng bộ nhớ phụ
vCác thư viện liên kết động (.DLL)
2/17/2009
Lập trình môi trường Windows
6
Tư tưởng hướng đối tượng
v Cửa sổ ứng dụng chính và các cửa sổ con
là các thể hiện (đối tượng) của lớp cửa sổ
được đăng ký trước
Lập trình môi trường Windows
7
Giao diện đồ hoạ độc lập thiết bị
vGiaodiện đồ hoạ củaWindowchophép
tạocác đốitượng đồ hoạ và địnhdạngvăn
bảnchocảmànhìnhvàmáyin
v ChươngtrìnhviếtchoWindowskhông
điềukhiểntrựctiếpthiếtbịxuấtnhư màn
hìnhhaymáyinmàthôngquamộtngôn
ngữ lậptrình đồ hoạ gọilàGiaoDiệnThiết
BịĐồ Hoạ (GraphicsDeviceInterface:
GDI)
2/17/2009
Lập trình môi trường Windows
8
Kiến trúc hướng thông điệp (message driven)
v Windows và các ứng dụng Windows hoạt động theo
cơ chế truyền, nhận thông điệp
vCác hoạt động của chương trình thay đổi tuỳ theo
thông điệp mà nó nhận được,
vThông điệp được gởi qua lại giữa ứng dụng và
Windows, giữa các ứng dụng với nhau
v Cửa sổ ứng dụng tự động được vẽ lại mỗi khi có sự
thay đổi kích thước hay vùng bị che. Điều này được
thực hiện nhờ hệ điều hành gởi thông điệp cho
chương trình
Lập trình môi trường Windows
9
Thủ tục cửa sổ
vHệđiềuhànhralệnhcho ứngdụngnhờ
thủ tụccửasổ(WindowProcedure)
vHàmcửasổchobiếtphản ứngcủachương
trìnhvớicáctác độngbênngoàinhư user
input
v HệđiềuhànhWindowsgởithông điệpcho
một chương trình ứngdụngbằngcách
gọihàmcửasổcủaứngdụng đó,với
thamsốlàthông điệp
Lập trình môi trường Windows
10
Đặc điểm cơ bản
• Lập trình hướng sự kiện, dựa vào thông điệp
• Đa nhiệm
• Môi trường 32/64 bits
• Hỗ trợ thư viện liên kết động
Lập trình môi trường Windows
11
Windows và DOS
Windows DOS
Lập trình sự kiện, dựa vào thông
điệp (message)
Thực hiện tuần tự theo chỉ định
Multi-tasking Single task
Multi-CPU Single CPU
Tích hợp sẵn Multimedia Phải dùng các thư viện
Multimedia riêng
Hỗ trợ 32 bits hay hơn nữa Ứng dụng 16 bits
DLL, OLE, DDE, COM, OpenGL,
DirectX
Không có
Lập trình môi trường Windows
12
Các loại ứng dụng cơ bản
• Windows Application: ứng dụng 32 bits, giao
diện đồ họa
• Win32 DLL: ứng dụng 32 bits, dạng thư viện
liên kết động (Dynamic-linked library)
• Win32 LIB: ứng dụng 32 bits, dạng thư viện liên
kết tĩnh (Static-linked library)
• Console Application: ứng dụng 32 bits, với
giao diện dạng DOS command line
Lập trình môi trường Windows
13
Windows Application dựa C
Lập trình môi trường Windows
14
Năm Ngônngữ Côngcụ
1985 C Windows application
programming interface
(API)
1992 C++ MicrosoftFoundation
Class (MFC) Library
2001 C# hoặc
C++.Net
Windows Form (1 phần
của .NET Framework)
Các thư viện lập trình
• Windows API
• OWL -Object Windows Library
• MFC -Microsoft Foundation Classes
• ATL -Active Template Library
• WTL -Windows Template Library
• …
Lập trình môi trường Windows
15
Các khái niệm cơ bản
vHandle
§ Một giá trị 32 bits không dấu (unsigned) do HĐH tạo ra để
làm định danh cho 1 đối tượng (cửa sổ, file, vùng nhớ,
menu,…)
vID (Identifier)
§ Một giá trị nguyên để làm định danh phân biệt giữa các 1
đối tượng (menu item, control) trong một chương trình.
vInstance
§ Một giá trị nguyên do HĐH tạo ra để định danh 1 thể hiện
đang thực thi của ứng dụng
vCallback function
§ Các hàm được gọi tự động bởi hệ điều hành
Lập trình môi trường Windows
16
Lập trình hướng sự kiện
vQui trình xử lý thông điệp
vCác loại thông điệp thường gặp
vVòng lặp xử lý thông điệp
Lập trình môi trường Windows
17
Phát sinh các sự kiện và thông điệp
Lập trình môi trường Windows
18