SlideShare a Scribd company logo
1 of 50
Download to read offline
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 Windows4
Đ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 Windows5
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 Windows6
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 Windows7
Giao diện đồ hoạ độc lập thiết bị
vGiao diện đồ hoạ của Window cho phép
tạo các đối tượng đồ hoạ và định dạng văn
bản cho cả màn hình và máy in
v Chương trình viết cho Windows không
điều khiển trực tiếp thiết bị xuất như màn
hình hay máy in mà thông qua một ngôn
ngữ lập trình đồ hoạ gọi là Giao Diện Thiết
Bị Đồ Hoạ (Graphics Device Interface:
GDI)
2/17/2009
Lập trình môi trường Windows8
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 Windows9
Thủ tục cửa sổ
vHệ điều hành ra lệnh cho ứng dụng nhờ
thủ tục cửa sổ (Window Procedure)
vHàm cửa sổ cho biết phản ứng của chương
trình với các tác động bên ngoài như user
input...
v Hệ điều hành Windows gởi thông điệp cho
một chương trình ứng dụng bằng cách
gọi hàm cửa sổ của ứng dụng đó, với
tham số là thông điệp
Lập trình môi trường Windows10
Đặ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 Windows11
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 Windows12
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 Windows13
Windows Application dựa C
Lập trình môi trường Windows14
Năm Ngôn ngữ Công cụ
1985 C Windows application
programming interface
(API)
1992 C++ Microsoft Foundation
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 Windows15
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 Windows16
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 Windows17
Phát sinh các sự kiện và thông điệp
Lập trình môi trường Windows18
Lập trình hướng sự kiện
• luồng điều khiển của chương trình được xác định dựa
vào hành động của người dùng khi sử dụng chương trình
Lập trình môi trường Windows19
Các khái niệm cơ bản
Thông điệp Được gửi khi
WM_CHAR Có một ký tự được nhập từ bàn phím
WM_COMMAND Người sử dụng click một mục trên menu, button…
WM_CREATE Một cửa sổ được tạo ra
WM_DESTROY Một cửa sổ bị huỷ.
WM_LBUTTONDOWN Phím trái chuột được nhấn
WM_LBUTTONUP Phím trái chuột được thả ra
WM_MOUSEMOVE Con trỏ chuột di chuyển trên màn hình
WM_PAINT Cửa sổ cần vẽ lại
WM_QUIT Ứng dụng sắp kết thúc
WM_SIZE Cửa sổ có thay đổi kích thước
Lập trình môi trường Windows20
Tài nguyên - Resource
vTài nguyên (Menu bar, dialog, bitmap,
icon, cursor,…) của ứng dụng được định
nghĩa bên ngoài và được thêm vào trong
file thực thi của ứng dụng khi biên dịch
• Các loại tài nguyên của ứng dụng
§ Accelerator table: bảng mô tả phím tắt (hot-key)
§ Bitmap: ảnh bitmap
§ Caret: con trỏ văn bản
§ Cursor: con trỏ chuột
§ Dialog box: khung hộp thoại (Dialogbox Template)
§ Font: font chữ
Lập trình môi trường Windows21
Tài nguyên - Resource
• Các loại tài nguyên của ứng dụng
§ Icon: biểu tượng
§ Menu: menu
§ String-table entry: bảng mô tả các chuỗi ký tự
§ Version information: bảng mô tả thông tin “phiên bản”
Lập trình môi trường Windows22
Giao diện đồ họa
vCác dạng ứng dụng giao diện đồ họa
§ SDI - Single Document Interface
§ MDI - Multiple Document Interface
§ Dialog
Lập trình môi trường Windows23
SDI - Single Document Interface
v Một cửa sổ làm việc
v Cho phép thay đổi kích thước cửa sổ
(Resizeable)
v Không có các cửa sổ con
v Ví dụ: Notepad, Paint,…
Lập trình môi trường Windows24
MDI - Multiple Document Interface
vMột cửa sổ làm việc chính và nhiều cửa sổ
con
vCho phép thay đổi kích thước cửa sổ
(Resizeable)
vCho phép Maximize/Minimize/Close các cửa
sổ con
vVí dụ: Word, Excel, VC++,…
Lập trình môi trường Windows25
Dialog
vMột cửa sổ làm việc
vThường kích thước cố định
vThường có các button, edit box, list box,…
vVí dụ: Calculator, CD Player,..
Lập trình môi trường Windows26
Cửa sổ - Window
vLà một vùng chữ nhật trên màn hình dùng
để hiển thị kết quả output và nhận các
input từ người dùng
• Công việc đầu tiên của 1 ứng dụng GUI là tạo một
cửa sổ làm việc
vMỗi cửa sổ đều có 1 cửa sổ cha (parent
window), ngoại trừ cửa sổ nền Desktop
• Tại mỗi thời điểm, chỉ có một cửa sổ nhận input từ
người dùng (Active/Focused window)
Lập trình môi trường Windows27
Các thành phần của một cửa sổ
Lập trình môi trường Windows28
Các control thông dụng
Lập trình môi trường Windows29
Edit boxEdit box
ListboxListbox
ComboboxCombobox
Check boxCheck box
ButtonButton
Static textStatic text
Tab ControlTab Control
Các control thông dụng
Lập trình môi trường Windows30
Qui ước đặt tên các hằng
vDùng chữ hoa với tiếp đầu ngữ mô tả loại
Lập trình môi trường Windows31
CS Class style
IDI ID number (soá nhaän daïng) cho moät bieåu
töôïng
IDC ID number (soá nhaän daïng) cho moät cursor
WS Window style
WM Window message
CW Create Window option
DT DrawText option
CS_HREDRAW DT_SINGLELINE WM_CREATE
CS_VREDRAW IDC_ARROW WM_DESTROY
CW_USEDEFAULT DT_VCENTER WM_PAINT
DT_CENTER IDI_APPLICATION WS_OVERLAPPEDWINDOW
Giới thiệu .NET
v.NET bao gồm một bộ đầy đủ các công cụ
giúp tạo và cài đặt các ứng dụng, .NET
bao gồm:
§ Sản phẩm của .NET
• Visual studio.NET IDE
• Ngôn ngữ lập trình: C#, VB.NET…
§ Dịch vụ web của .NET
§ .NET Framework
Lập trình môi trường Windows32
.NET Framework
v.NET framework bao gồm 3 thành
phần chủ yếu
§ Common Language Runtime (CLR)
§ Các lớp cơ sở của .NET Framework
§ Giao diện người dùng
Lập trình môi trường Windows33
Base Class LibraryBase Class Library
Common Language SpecificationCommon Language Specification
Common Language RuntimeCommon Language Runtime
ADO.NET: Data and XMLADO.NET: Data and XML
VBVB C++C++ C#C#
VisualStudio.NETVisualStudio.NET
ASP.NET: Web ServicesASP.NET: Web Services
and Web Formsand Web Forms
VJ#VJ# ……
WindowsWindows
FormsForms
CLR
vCommon Language Runtime là môi trường
để cho tất cả các ứng dụng viết trên .NET
chạy
vCLR hỗ trợ nhiều ngôn ngữ và cung cấp
các công cụ dùng chung cho các ngôn ngữ
lập trình khác nhau, giúp cho việc tương
tác qua lại giữa các ngôn ngữ lập trình
khác nhau dễ dàng hơn
Lập trình môi trường Windows35
CLR
Lập trình môi trường Windows36
VB .NET Visual C#
VB .NET Compiler VC# Compiler
Microsoft Intermediate Language (MSIL)
Common Language Runtime (CLR)
Native Code
Just in Time (JIT) Compilers
Quá trình biên dịch
Lập trình môi trường Windows37
VBVBSourceSource
codecode
CompilerCompiler
C++C++C#C#
CompilerCompilerCompilerCompiler
AssemblyAssembly
IL CodeIL Code
AssemblyAssembly
IL CodeIL Code
AssemblyAssembly
IL CodeIL Code
Operating System ServicesOperating System Services -- WindowsWindows
Common Language RuntimeCommon Language Runtime
JIT CompilerJIT Compiler
Native CodeNative Code
ManagedManaged
codecode
UnmanagedUnmanaged
ComponentComponent
Class Loading and LayoutClass Loading and Layout
Execution supportExecution support
Garbage CollectionGarbage Collection
SecuritySecurity
Các đặc điểm của CLR
vTự động quản lý bộ nhớ
vHệ thống kiểu dữ liệu dùng chung giữa các
ngôn ngữ lập trình
vTính tương tác giữa các ngôn ngữ
vĐộc lập với cấu trúc phần cứng bên dưới
vCơ chế bảo mật hệ thống
vAn toàn kiểu dữ liệu
Lập trình môi trường Windows39
Các lớp cơ sở của .NET framework
vĐược xây dựng theo phương pháp hướng
đối tượng
vCung cấp các lớp dùng để xử lý các vấn đề
thường gặp phải khi phát triển ứng dụng
vĐược dùng chung cho nhiều ngôn ngữ lập
trình khác nhau
vĐược tổ chức thành những namespace
được lưu trữ trong assembly.
Lập trình môi trường Windows40
Các lớp cơ sở của .NET framework
vNamespace dùng để nhóm các lớp và các
interface có mối quan hệ luận lý với nhau.
vCác namespace có thể được dùng trong
bất cứ ngôn ngữ nào tương thích với .NET.
vNamespace được sử dụng để hạn chế việc
dùng cùng một tên cho 2 hay nhiều lớp có
mục đích sử dụng khác nhau
Lập trình môi trường Windows41
Các lớp cơ sở của .NET framework
vAssembly là một đơn vị phần mềm có
chứa đầy đủ các thông tin về các lớp hiện
thực, các cấu trúc và các interface để hiện
thực ứng dụng
vAssembly lưu trữ các thông tin để mô tả
chính nó, thông tin này gọi là meta data
Lập trình môi trường Windows42
Các lớp cơ sở của .NET framework
vSystem
v System.Collections
v System.Drawing
v System.IO
v System.Data
v System.Windows.Forms
v System.Web.UI
v System.Web.Services
v……………………..
Lập trình môi trường Windows43
Giao diện người dùng
• Window form: dùng để tạo ứng dụng cục bộ có
giao diện cửa sổ.
vWeb form: dùng để tạo ứng dụng web
vConsole: Dùng để tạo ứng dụng được
tương tác bằng lệnh giống như giao diện
Ms Dos
Lập trình môi trường Windows44
Ưu điểm của .NET Framework
vDùng chung cho nhiều ngôn ngữ lập trình
vTạo ứng dụng độc lập với môi trường phần
cứng bên dưới
vCho phép viết ứng dụng bằng nhiều ngôn
ngữ tương thích với .NET
vTự động quản lý tài nguyên
vDễ dàng triển khai ứng dụng
Lập trình môi trường Windows45
Visual studio.NET IDE
vVisual Studio .NET Integrated
Development Environment (IDE) cung cấp
một giao diện dùng chung để phát triển
nhiều loại dự án khác nhau.
vCung cấp môi trường để thiết kế, viết
code, kiểm tra và sửa lỗi khi phát triển
ứng dụng
vCác thành phần của Visual Studio .NET
IDE
§ Dự án và giải pháp
§ Giao diện của các thành phần
Lập trình môi trường Windows46
Dự án và giải pháp
vTrong visual studio .NET ứng dụng được
tạo thành từ nhiều phần tử ví dụ như file,
thư mục
vĐể tổ chức các phần tử trên .NET cung cấp
dự án và giải pháp
vDự án (project): cho phép xây dựng, dịch
và sửa lỗi các thành phần tạo nên ứng
dụng. Dự án được dịch ra thành file exe
hoặc dll
vGiải pháp (Solution): Bao gồm một hay
nhiều project
Lập trình môi trường Windows47
Dự án và project
Solution
Project 1
Project 2
Miscellaneous Files
Project 1
Items
Project 2
Items
Lập trình môi trường Windows48
Q & A
Lập trình môi trường Windows49
LOGO
www.themegallery.com

More Related Content

What's hot

Bài 1: Giới thiệu Android
Bài 1: Giới thiệu AndroidBài 1: Giới thiệu Android
Bài 1: Giới thiệu Androidhoccungdoanhnghiep
 
Thêm sửa-xóa-combobox - c#
Thêm sửa-xóa-combobox - c#Thêm sửa-xóa-combobox - c#
Thêm sửa-xóa-combobox - c#Văn Dũng
 
Giaotrinh vb
Giaotrinh vbGiaotrinh vb
Giaotrinh vbzuzuzu123
 
1. giới thiệu về ng￴n ngữ lập trình c#
1. giới thiệu về ng￴n ngữ lập trình c#1. giới thiệu về ng￴n ngữ lập trình c#
1. giới thiệu về ng￴n ngữ lập trình c#Duy Lê Văn
 
bai giang VB cua thay Duong Van Phuoc
bai giang VB cua thay Duong Van Phuocbai giang VB cua thay Duong Van Phuoc
bai giang VB cua thay Duong Van PhuocHUNGCHAY08
 
Thực hành lập trình Visual Bacsic
Thực hành lập trình Visual BacsicThực hành lập trình Visual Bacsic
Thực hành lập trình Visual BacsicLE The Vinh
 
Lập trình C# 2008 cơ bản_Nhất Nghệ
Lập trình C# 2008 cơ bản_Nhất NghệLập trình C# 2008 cơ bản_Nhất Nghệ
Lập trình C# 2008 cơ bản_Nhất NghệTrần Thiên Đại
 
Slide bài giảng lập trình Android DTU - Phần 1
Slide bài giảng lập trình Android DTU - Phần 1Slide bài giảng lập trình Android DTU - Phần 1
Slide bài giảng lập trình Android DTU - Phần 1Techacademy Software
 
Lập trình Android cơ bản bằng tiếng Việt
Lập trình Android cơ bản bằng tiếng ViệtLập trình Android cơ bản bằng tiếng Việt
Lập trình Android cơ bản bằng tiếng Việtlaptrinhandroid
 
Chuan viet code va thiet ke giao dien trong C#
Chuan viet code va thiet ke giao dien trong C#Chuan viet code va thiet ke giao dien trong C#
Chuan viet code va thiet ke giao dien trong C#Kuli An
 

What's hot (12)

WinCC
WinCCWinCC
WinCC
 
Bài 1: Giới thiệu Android
Bài 1: Giới thiệu AndroidBài 1: Giới thiệu Android
Bài 1: Giới thiệu Android
 
Thêm sửa-xóa-combobox - c#
Thêm sửa-xóa-combobox - c#Thêm sửa-xóa-combobox - c#
Thêm sửa-xóa-combobox - c#
 
Giaotrinh vb
Giaotrinh vbGiaotrinh vb
Giaotrinh vb
 
1. giới thiệu về ng￴n ngữ lập trình c#
1. giới thiệu về ng￴n ngữ lập trình c#1. giới thiệu về ng￴n ngữ lập trình c#
1. giới thiệu về ng￴n ngữ lập trình c#
 
Android OS
Android OSAndroid OS
Android OS
 
bai giang VB cua thay Duong Van Phuoc
bai giang VB cua thay Duong Van Phuocbai giang VB cua thay Duong Van Phuoc
bai giang VB cua thay Duong Van Phuoc
 
Thực hành lập trình Visual Bacsic
Thực hành lập trình Visual BacsicThực hành lập trình Visual Bacsic
Thực hành lập trình Visual Bacsic
 
Lập trình C# 2008 cơ bản_Nhất Nghệ
Lập trình C# 2008 cơ bản_Nhất NghệLập trình C# 2008 cơ bản_Nhất Nghệ
Lập trình C# 2008 cơ bản_Nhất Nghệ
 
Slide bài giảng lập trình Android DTU - Phần 1
Slide bài giảng lập trình Android DTU - Phần 1Slide bài giảng lập trình Android DTU - Phần 1
Slide bài giảng lập trình Android DTU - Phần 1
 
Lập trình Android cơ bản bằng tiếng Việt
Lập trình Android cơ bản bằng tiếng ViệtLập trình Android cơ bản bằng tiếng Việt
Lập trình Android cơ bản bằng tiếng Việt
 
Chuan viet code va thiet ke giao dien trong C#
Chuan viet code va thiet ke giao dien trong C#Chuan viet code va thiet ke giao dien trong C#
Chuan viet code va thiet ke giao dien trong C#
 

Viewers also liked

Andrea & marina
Andrea & marinaAndrea & marina
Andrea & marinamarinaclr
 
Como aproveitar melhor_as_24_horas_do_seu_dia
Como aproveitar melhor_as_24_horas_do_seu_diaComo aproveitar melhor_as_24_horas_do_seu_dia
Como aproveitar melhor_as_24_horas_do_seu_diaFabiana Aparicio
 
B.S.B INTERNATIONAL CAREER PVT LTD (FUTURE PRIJECTION)
B.S.B INTERNATIONAL CAREER PVT LTD (FUTURE PRIJECTION)B.S.B INTERNATIONAL CAREER PVT LTD (FUTURE PRIJECTION)
B.S.B INTERNATIONAL CAREER PVT LTD (FUTURE PRIJECTION)Sajal Bhadra
 
Synthesis Paper - Sarah Hooker & Ping Na Huang - Vancouver Transportation
Synthesis Paper - Sarah Hooker & Ping Na Huang - Vancouver TransportationSynthesis Paper - Sarah Hooker & Ping Na Huang - Vancouver Transportation
Synthesis Paper - Sarah Hooker & Ping Na Huang - Vancouver TransportationSarah Mae Hooker
 
Mariana lópez aguilera informe
Mariana lópez aguilera informeMariana lópez aguilera informe
Mariana lópez aguilera informelaiacb13
 
Classement général à l'issue de la 4è étape
Classement général à l'issue de la 4è étapeClassement général à l'issue de la 4è étape
Classement général à l'issue de la 4è étapejcsamyde
 
Animales en peligro de extincion
Animales en peligro de extincionAnimales en peligro de extincion
Animales en peligro de extincionjoelherrerazapata
 
Informática 1
Informática 1Informática 1
Informática 1JoseLuis1B
 
Resume_Sandra Kercho_October 21, 2015
Resume_Sandra Kercho_October 21, 2015Resume_Sandra Kercho_October 21, 2015
Resume_Sandra Kercho_October 21, 2015Sandra Kercho
 
La historia personal cei 2013
La historia personal cei 2013La historia personal cei 2013
La historia personal cei 2013paola cruz poquis
 
Non-Traditional Student Enrollment Analytics
Non-Traditional Student Enrollment AnalyticsNon-Traditional Student Enrollment Analytics
Non-Traditional Student Enrollment AnalyticsKimberly Nguyen
 
Kuri anuncios publicitarios
Kuri anuncios publicitariosKuri anuncios publicitarios
Kuri anuncios publicitariosjorge_nachon
 
Mi aporte para promocionar la lectura
Mi aporte para  promocionar  la lecturaMi aporte para  promocionar  la lectura
Mi aporte para promocionar la lecturaepilarojas2879
 
Internette Pazarlama
Internette PazarlamaInternette Pazarlama
Internette Pazarlamaerdal oral
 
Perifericos y componentes internos de la pc
Perifericos y componentes internos de la pcPerifericos y componentes internos de la pc
Perifericos y componentes internos de la pcMaria Laura Andereggen
 
ένα ταξίδι στα παλιά...
ένα ταξίδι στα παλιά...ένα ταξίδι στα παλιά...
ένα ταξίδι στα παλιά...1odimsxoleio
 

Viewers also liked (20)

Andrea & marina
Andrea & marinaAndrea & marina
Andrea & marina
 
Como aproveitar melhor_as_24_horas_do_seu_dia
Como aproveitar melhor_as_24_horas_do_seu_diaComo aproveitar melhor_as_24_horas_do_seu_dia
Como aproveitar melhor_as_24_horas_do_seu_dia
 
Monografia
MonografiaMonografia
Monografia
 
B.S.B INTERNATIONAL CAREER PVT LTD (FUTURE PRIJECTION)
B.S.B INTERNATIONAL CAREER PVT LTD (FUTURE PRIJECTION)B.S.B INTERNATIONAL CAREER PVT LTD (FUTURE PRIJECTION)
B.S.B INTERNATIONAL CAREER PVT LTD (FUTURE PRIJECTION)
 
Html 1
Html 1Html 1
Html 1
 
Geometry
GeometryGeometry
Geometry
 
Synthesis Paper - Sarah Hooker & Ping Na Huang - Vancouver Transportation
Synthesis Paper - Sarah Hooker & Ping Na Huang - Vancouver TransportationSynthesis Paper - Sarah Hooker & Ping Na Huang - Vancouver Transportation
Synthesis Paper - Sarah Hooker & Ping Na Huang - Vancouver Transportation
 
Mariana lópez aguilera informe
Mariana lópez aguilera informeMariana lópez aguilera informe
Mariana lópez aguilera informe
 
Classement général à l'issue de la 4è étape
Classement général à l'issue de la 4è étapeClassement général à l'issue de la 4è étape
Classement général à l'issue de la 4è étape
 
Animales en peligro de extincion
Animales en peligro de extincionAnimales en peligro de extincion
Animales en peligro de extincion
 
Informática 1
Informática 1Informática 1
Informática 1
 
Resume_Sandra Kercho_October 21, 2015
Resume_Sandra Kercho_October 21, 2015Resume_Sandra Kercho_October 21, 2015
Resume_Sandra Kercho_October 21, 2015
 
Solicitudexamen
SolicitudexamenSolicitudexamen
Solicitudexamen
 
La historia personal cei 2013
La historia personal cei 2013La historia personal cei 2013
La historia personal cei 2013
 
Non-Traditional Student Enrollment Analytics
Non-Traditional Student Enrollment AnalyticsNon-Traditional Student Enrollment Analytics
Non-Traditional Student Enrollment Analytics
 
Kuri anuncios publicitarios
Kuri anuncios publicitariosKuri anuncios publicitarios
Kuri anuncios publicitarios
 
Mi aporte para promocionar la lectura
Mi aporte para  promocionar  la lecturaMi aporte para  promocionar  la lectura
Mi aporte para promocionar la lectura
 
Internette Pazarlama
Internette PazarlamaInternette Pazarlama
Internette Pazarlama
 
Perifericos y componentes internos de la pc
Perifericos y componentes internos de la pcPerifericos y componentes internos de la pc
Perifericos y componentes internos de la pc
 
ένα ταξίδι στα παλιά...
ένα ταξίδι στα παλιά...ένα ταξίδι στα παλιά...
ένα ταξίδι στα παλιά...
 

Similar to 1 tongquan

Bai giang lap_trinh_c_trong_window
Bai giang lap_trinh_c_trong_windowBai giang lap_trinh_c_trong_window
Bai giang lap_trinh_c_trong_windowHuy Feng
 
[Cntt] bài giảng lập trình c trong windows
[Cntt] bài giảng lập trình c trong windows[Cntt] bài giảng lập trình c trong windows
[Cntt] bài giảng lập trình c trong windowsHong Phuoc Nguyen
 
Tran Minh Thai Bai Giang Vc
Tran Minh Thai   Bai Giang VcTran Minh Thai   Bai Giang Vc
Tran Minh Thai Bai Giang VcNhat Thien
 
Devwork.vn Giáo trình C# cơ bản
Devwork.vn Giáo trình C# cơ bảnDevwork.vn Giáo trình C# cơ bản
Devwork.vn Giáo trình C# cơ bảnDevwork
 
Windows Programming Tác giả: Bộ môn Công nghệ phần mềm; Người hướng dẫn: -; ...
Windows Programming Tác giả: Bộ môn Công nghệ phần mềm;  Người hướng dẫn: -; ...Windows Programming Tác giả: Bộ môn Công nghệ phần mềm;  Người hướng dẫn: -; ...
Windows Programming Tác giả: Bộ môn Công nghệ phần mềm; Người hướng dẫn: -; ...VTrung46
 
Chapter 1 1 vi
Chapter 1 1 viChapter 1 1 vi
Chapter 1 1 viTan Duy
 
Giới thiệu về Windows 8
Giới thiệu về Windows 8Giới thiệu về Windows 8
Giới thiệu về Windows 8Duy Lùn
 
Nhập môn lập trình - Vương Bá Thịnh
Nhập môn lập trình - Vương Bá ThịnhNhập môn lập trình - Vương Bá Thịnh
Nhập môn lập trình - Vương Bá Thịnhsilverclaw
 
Bai giangvb.net
Bai giangvb.netBai giangvb.net
Bai giangvb.netvvpcdsptin
 
Lap trinh nang cao c sharp chuong 1
Lap trinh nang cao c sharp chuong 1Lap trinh nang cao c sharp chuong 1
Lap trinh nang cao c sharp chuong 1Ho Tien Cuong
 
Chuong 1 qttk_website.html
Chuong 1 qttk_website.htmlChuong 1 qttk_website.html
Chuong 1 qttk_website.htmlHeo Mọi
 
Vài Lời nói đầu - Sách VHNghĩa
Vài Lời nói đầu - Sách VHNghĩaVài Lời nói đầu - Sách VHNghĩa
Vài Lời nói đầu - Sách VHNghĩaVo Hieu Nghia
 
BÀI 1: Làm quen với lập trình - Giáo trình FPT
BÀI 1: Làm quen với lập trình - Giáo trình FPTBÀI 1: Làm quen với lập trình - Giáo trình FPT
BÀI 1: Làm quen với lập trình - Giáo trình FPTMasterCode.vn
 
Giáo trình vb.net
Giáo trình vb.netGiáo trình vb.net
Giáo trình vb.netHung Pham
 

Similar to 1 tongquan (20)

Bai giang lap_trinh_c_trong_window
Bai giang lap_trinh_c_trong_windowBai giang lap_trinh_c_trong_window
Bai giang lap_trinh_c_trong_window
 
[Cntt] bài giảng lập trình c trong windows
[Cntt] bài giảng lập trình c trong windows[Cntt] bài giảng lập trình c trong windows
[Cntt] bài giảng lập trình c trong windows
 
Tran Minh Thai Bai Giang Vc
Tran Minh Thai   Bai Giang VcTran Minh Thai   Bai Giang Vc
Tran Minh Thai Bai Giang Vc
 
Devwork.vn Giáo trình C# cơ bản
Devwork.vn Giáo trình C# cơ bảnDevwork.vn Giáo trình C# cơ bản
Devwork.vn Giáo trình C# cơ bản
 
Windows Programming Tác giả: Bộ môn Công nghệ phần mềm; Người hướng dẫn: -; ...
Windows Programming Tác giả: Bộ môn Công nghệ phần mềm;  Người hướng dẫn: -; ...Windows Programming Tác giả: Bộ môn Công nghệ phần mềm;  Người hướng dẫn: -; ...
Windows Programming Tác giả: Bộ môn Công nghệ phần mềm; Người hướng dẫn: -; ...
 
Ltgd ch01
Ltgd ch01Ltgd ch01
Ltgd ch01
 
Chapter 1 1 vi
Chapter 1 1 viChapter 1 1 vi
Chapter 1 1 vi
 
Bai giangvb.net
Bai giangvb.netBai giangvb.net
Bai giangvb.net
 
Giới thiệu về Windows 8
Giới thiệu về Windows 8Giới thiệu về Windows 8
Giới thiệu về Windows 8
 
Nhập môn lập trình - Vương Bá Thịnh
Nhập môn lập trình - Vương Bá ThịnhNhập môn lập trình - Vương Bá Thịnh
Nhập môn lập trình - Vương Bá Thịnh
 
Bai giangvb.net
Bai giangvb.netBai giangvb.net
Bai giangvb.net
 
Tin học lớp 6
Tin học lớp 6Tin học lớp 6
Tin học lớp 6
 
Winxp
WinxpWinxp
Winxp
 
Lap trinh nang cao c sharp chuong 1
Lap trinh nang cao c sharp chuong 1Lap trinh nang cao c sharp chuong 1
Lap trinh nang cao c sharp chuong 1
 
Phan 1 sv
Phan 1   svPhan 1   sv
Phan 1 sv
 
Chuong 1 qttk_website.html
Chuong 1 qttk_website.htmlChuong 1 qttk_website.html
Chuong 1 qttk_website.html
 
Lập trình android
Lập trình androidLập trình android
Lập trình android
 
Vài Lời nói đầu - Sách VHNghĩa
Vài Lời nói đầu - Sách VHNghĩaVài Lời nói đầu - Sách VHNghĩa
Vài Lời nói đầu - Sách VHNghĩa
 
BÀI 1: Làm quen với lập trình - Giáo trình FPT
BÀI 1: Làm quen với lập trình - Giáo trình FPTBÀI 1: Làm quen với lập trình - Giáo trình FPT
BÀI 1: Làm quen với lập trình - Giáo trình FPT
 
Giáo trình vb.net
Giáo trình vb.netGiáo trình vb.net
Giáo trình vb.net
 

1 tongquan

  • 1. LOGO Phạm Thi Vương Tổng quan lập trình môi trường Windows
  • 2. Lịch sử Windows Windows Desktop Windows Server
  • 3. 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
  • 4. 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 Windows4
  • 5. Đ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 Windows5
  • 6. 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 Windows6
  • 7. 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 Windows7
  • 8. Giao diện đồ hoạ độc lập thiết bị vGiao diện đồ hoạ của Window cho phép tạo các đối tượng đồ hoạ và định dạng văn bản cho cả màn hình và máy in v Chương trình viết cho Windows không điều khiển trực tiếp thiết bị xuất như màn hình hay máy in mà thông qua một ngôn ngữ lập trình đồ hoạ gọi là Giao Diện Thiết Bị Đồ Hoạ (Graphics Device Interface: GDI) 2/17/2009 Lập trình môi trường Windows8
  • 9. 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 Windows9
  • 10. Thủ tục cửa sổ vHệ điều hành ra lệnh cho ứng dụng nhờ thủ tục cửa sổ (Window Procedure) vHàm cửa sổ cho biết phản ứng của chương trình với các tác động bên ngoài như user input... v Hệ điều hành Windows gởi thông điệp cho một chương trình ứng dụng bằng cách gọi hàm cửa sổ của ứng dụng đó, với tham số là thông điệp Lập trình môi trường Windows10
  • 11. Đặ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 Windows11
  • 12. 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 Windows12
  • 13. 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 Windows13
  • 14. Windows Application dựa C Lập trình môi trường Windows14 Năm Ngôn ngữ Công cụ 1985 C Windows application programming interface (API) 1992 C++ Microsoft Foundation Class (MFC) Library 2001 C# hoặc C++.Net Windows Form (1 phần của .NET Framework)
  • 15. 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 Windows15
  • 16. 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 Windows16
  • 17. 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 Windows17
  • 18. Phát sinh các sự kiện và thông điệp Lập trình môi trường Windows18
  • 19. Lập trình hướng sự kiện • luồng điều khiển của chương trình được xác định dựa vào hành động của người dùng khi sử dụng chương trình Lập trình môi trường Windows19
  • 20. Các khái niệm cơ bản Thông điệp Được gửi khi WM_CHAR Có một ký tự được nhập từ bàn phím WM_COMMAND Người sử dụng click một mục trên menu, button… WM_CREATE Một cửa sổ được tạo ra WM_DESTROY Một cửa sổ bị huỷ. WM_LBUTTONDOWN Phím trái chuột được nhấn WM_LBUTTONUP Phím trái chuột được thả ra WM_MOUSEMOVE Con trỏ chuột di chuyển trên màn hình WM_PAINT Cửa sổ cần vẽ lại WM_QUIT Ứng dụng sắp kết thúc WM_SIZE Cửa sổ có thay đổi kích thước Lập trình môi trường Windows20
  • 21. Tài nguyên - Resource vTài nguyên (Menu bar, dialog, bitmap, icon, cursor,…) của ứng dụng được định nghĩa bên ngoài và được thêm vào trong file thực thi của ứng dụng khi biên dịch • Các loại tài nguyên của ứng dụng § Accelerator table: bảng mô tả phím tắt (hot-key) § Bitmap: ảnh bitmap § Caret: con trỏ văn bản § Cursor: con trỏ chuột § Dialog box: khung hộp thoại (Dialogbox Template) § Font: font chữ Lập trình môi trường Windows21
  • 22. Tài nguyên - Resource • Các loại tài nguyên của ứng dụng § Icon: biểu tượng § Menu: menu § String-table entry: bảng mô tả các chuỗi ký tự § Version information: bảng mô tả thông tin “phiên bản” Lập trình môi trường Windows22
  • 23. Giao diện đồ họa vCác dạng ứng dụng giao diện đồ họa § SDI - Single Document Interface § MDI - Multiple Document Interface § Dialog Lập trình môi trường Windows23
  • 24. SDI - Single Document Interface v Một cửa sổ làm việc v Cho phép thay đổi kích thước cửa sổ (Resizeable) v Không có các cửa sổ con v Ví dụ: Notepad, Paint,… Lập trình môi trường Windows24
  • 25. MDI - Multiple Document Interface vMột cửa sổ làm việc chính và nhiều cửa sổ con vCho phép thay đổi kích thước cửa sổ (Resizeable) vCho phép Maximize/Minimize/Close các cửa sổ con vVí dụ: Word, Excel, VC++,… Lập trình môi trường Windows25
  • 26. Dialog vMột cửa sổ làm việc vThường kích thước cố định vThường có các button, edit box, list box,… vVí dụ: Calculator, CD Player,.. Lập trình môi trường Windows26
  • 27. Cửa sổ - Window vLà một vùng chữ nhật trên màn hình dùng để hiển thị kết quả output và nhận các input từ người dùng • Công việc đầu tiên của 1 ứng dụng GUI là tạo một cửa sổ làm việc vMỗi cửa sổ đều có 1 cửa sổ cha (parent window), ngoại trừ cửa sổ nền Desktop • Tại mỗi thời điểm, chỉ có một cửa sổ nhận input từ người dùng (Active/Focused window) Lập trình môi trường Windows27
  • 28. Các thành phần của một cửa sổ Lập trình môi trường Windows28
  • 29. Các control thông dụng Lập trình môi trường Windows29 Edit boxEdit box ListboxListbox ComboboxCombobox Check boxCheck box ButtonButton Static textStatic text Tab ControlTab Control
  • 30. Các control thông dụng Lập trình môi trường Windows30
  • 31. Qui ước đặt tên các hằng vDùng chữ hoa với tiếp đầu ngữ mô tả loại Lập trình môi trường Windows31 CS Class style IDI ID number (soá nhaän daïng) cho moät bieåu töôïng IDC ID number (soá nhaän daïng) cho moät cursor WS Window style WM Window message CW Create Window option DT DrawText option CS_HREDRAW DT_SINGLELINE WM_CREATE CS_VREDRAW IDC_ARROW WM_DESTROY CW_USEDEFAULT DT_VCENTER WM_PAINT DT_CENTER IDI_APPLICATION WS_OVERLAPPEDWINDOW
  • 32. Giới thiệu .NET v.NET bao gồm một bộ đầy đủ các công cụ giúp tạo và cài đặt các ứng dụng, .NET bao gồm: § Sản phẩm của .NET • Visual studio.NET IDE • Ngôn ngữ lập trình: C#, VB.NET… § Dịch vụ web của .NET § .NET Framework Lập trình môi trường Windows32
  • 33. .NET Framework v.NET framework bao gồm 3 thành phần chủ yếu § Common Language Runtime (CLR) § Các lớp cơ sở của .NET Framework § Giao diện người dùng Lập trình môi trường Windows33
  • 34. Base Class LibraryBase Class Library Common Language SpecificationCommon Language Specification Common Language RuntimeCommon Language Runtime ADO.NET: Data and XMLADO.NET: Data and XML VBVB C++C++ C#C# VisualStudio.NETVisualStudio.NET ASP.NET: Web ServicesASP.NET: Web Services and Web Formsand Web Forms VJ#VJ# …… WindowsWindows FormsForms
  • 35. CLR vCommon Language Runtime là môi trường để cho tất cả các ứng dụng viết trên .NET chạy vCLR hỗ trợ nhiều ngôn ngữ và cung cấp các công cụ dùng chung cho các ngôn ngữ lập trình khác nhau, giúp cho việc tương tác qua lại giữa các ngôn ngữ lập trình khác nhau dễ dàng hơn Lập trình môi trường Windows35
  • 36. CLR Lập trình môi trường Windows36 VB .NET Visual C# VB .NET Compiler VC# Compiler Microsoft Intermediate Language (MSIL) Common Language Runtime (CLR) Native Code Just in Time (JIT) Compilers
  • 37. Quá trình biên dịch Lập trình môi trường Windows37
  • 38. VBVBSourceSource codecode CompilerCompiler C++C++C#C# CompilerCompilerCompilerCompiler AssemblyAssembly IL CodeIL Code AssemblyAssembly IL CodeIL Code AssemblyAssembly IL CodeIL Code Operating System ServicesOperating System Services -- WindowsWindows Common Language RuntimeCommon Language Runtime JIT CompilerJIT Compiler Native CodeNative Code ManagedManaged codecode UnmanagedUnmanaged ComponentComponent Class Loading and LayoutClass Loading and Layout Execution supportExecution support Garbage CollectionGarbage Collection SecuritySecurity
  • 39. Các đặc điểm của CLR vTự động quản lý bộ nhớ vHệ thống kiểu dữ liệu dùng chung giữa các ngôn ngữ lập trình vTính tương tác giữa các ngôn ngữ vĐộc lập với cấu trúc phần cứng bên dưới vCơ chế bảo mật hệ thống vAn toàn kiểu dữ liệu Lập trình môi trường Windows39
  • 40. Các lớp cơ sở của .NET framework vĐược xây dựng theo phương pháp hướng đối tượng vCung cấp các lớp dùng để xử lý các vấn đề thường gặp phải khi phát triển ứng dụng vĐược dùng chung cho nhiều ngôn ngữ lập trình khác nhau vĐược tổ chức thành những namespace được lưu trữ trong assembly. Lập trình môi trường Windows40
  • 41. Các lớp cơ sở của .NET framework vNamespace dùng để nhóm các lớp và các interface có mối quan hệ luận lý với nhau. vCác namespace có thể được dùng trong bất cứ ngôn ngữ nào tương thích với .NET. vNamespace được sử dụng để hạn chế việc dùng cùng một tên cho 2 hay nhiều lớp có mục đích sử dụng khác nhau Lập trình môi trường Windows41
  • 42. Các lớp cơ sở của .NET framework vAssembly là một đơn vị phần mềm có chứa đầy đủ các thông tin về các lớp hiện thực, các cấu trúc và các interface để hiện thực ứng dụng vAssembly lưu trữ các thông tin để mô tả chính nó, thông tin này gọi là meta data Lập trình môi trường Windows42
  • 43. Các lớp cơ sở của .NET framework vSystem v System.Collections v System.Drawing v System.IO v System.Data v System.Windows.Forms v System.Web.UI v System.Web.Services v…………………….. Lập trình môi trường Windows43
  • 44. Giao diện người dùng • Window form: dùng để tạo ứng dụng cục bộ có giao diện cửa sổ. vWeb form: dùng để tạo ứng dụng web vConsole: Dùng để tạo ứng dụng được tương tác bằng lệnh giống như giao diện Ms Dos Lập trình môi trường Windows44
  • 45. Ưu điểm của .NET Framework vDùng chung cho nhiều ngôn ngữ lập trình vTạo ứng dụng độc lập với môi trường phần cứng bên dưới vCho phép viết ứng dụng bằng nhiều ngôn ngữ tương thích với .NET vTự động quản lý tài nguyên vDễ dàng triển khai ứng dụng Lập trình môi trường Windows45
  • 46. Visual studio.NET IDE vVisual Studio .NET Integrated Development Environment (IDE) cung cấp một giao diện dùng chung để phát triển nhiều loại dự án khác nhau. vCung cấp môi trường để thiết kế, viết code, kiểm tra và sửa lỗi khi phát triển ứng dụng vCác thành phần của Visual Studio .NET IDE § Dự án và giải pháp § Giao diện của các thành phần Lập trình môi trường Windows46
  • 47. Dự án và giải pháp vTrong visual studio .NET ứng dụng được tạo thành từ nhiều phần tử ví dụ như file, thư mục vĐể tổ chức các phần tử trên .NET cung cấp dự án và giải pháp vDự án (project): cho phép xây dựng, dịch và sửa lỗi các thành phần tạo nên ứng dụng. Dự án được dịch ra thành file exe hoặc dll vGiải pháp (Solution): Bao gồm một hay nhiều project Lập trình môi trường Windows47
  • 48. Dự án và project Solution Project 1 Project 2 Miscellaneous Files Project 1 Items Project 2 Items Lập trình môi trường Windows48
  • 49. Q & A Lập trình môi trường Windows49