Bài giảng Lập trình C trên win - pdf 17

Download miễn phí Bài giảng Lập trình C trên win



Giá trị trả về của hàm:
IDABORT: Nút Abort được chọn
IDCANCEL: Nút Cancel được chọn
IDIGNORE: Nút Ignore được chọn
IDNO: Nút No được chọn
IDOK: Nút Ok được chọn
IDRETRY: Nút Retry được chọn
IDYES: Nút Yes được chọn
 
 
 
 



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

* Lập trình C trên Windows 1.3: LẬP TRÌNH TRÊN MICROSOFT WINDOWS Cơ chế thông điệp: * Lập trình C trên Windows 1.4: CÁCH VIẾT MỘT UD TRÊN MS WINDOWS Các thành phần cơ bản tạo nên ứng dụng Chương trình nguồn: Bao gồm các tập tin *.C và *.H tương tự như các chương trình trong C chuẩn cho DOS. Tuy nhiên trong đó là các cấu trúc đặc thù cho Windows Tập tin *.H để định nghĩa các hằng số, khai báo biến, khai báo hàm,... * Lập trình C trên Windows 1.4: CÁCH VIẾT MỘT UD TRÊN MS WINDOWS Tập khai báo tài nguyên : Tất cả các tài nguyên được mô tả tóm tắt trong tập tin có tên phụ là *.RC Tài nguyên cho một ứng thường bao gồm : Biểu tượng của ứng dụng (Icon) Con trỏ màn hình(cursor) Các hình ảnh (bitmap) Hộp hội thoại (Dialog) Khai báo control Menu cho ứng dụng * Lập trình C trên Windows 1.4: CÁCH VIẾT MỘT UD TRÊN MS WINDOWS Tập tin khai báo các thuộc tính cho ứng dụng Các thuộc tính chẳng hạn như kích thước stack, kích thước heap,.... được khai báo trong tập tin .DEF. Nếu không có chương trình ứng dụng cài đặt giá trị mặc định. Tập tin đề án : Tên_Dự_án.DSW (*.DSW) * Lập trình C trên Windows 1.4: CÁCH VIẾT MỘT UD TRÊN MS WINDOWS Hàm WinMain int WINAPI WinMain ( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow) hInstance chỉ danh của instance hiện hành hPrevInstance chỉ danh của instance vừa chạy lần trước. Nếu có thì tham số khác không , nếu tham số bằng 0 thì hInstance là instance đầu tiên của ứng dụng. lpszCmdLine : câu lệnh gọi từ chức năng Run trong thực đơn File của Program Manager, giống như đối số argc của hàm main() trong C chuẩn và có kiểu char far * (LPSTR). nCmdShow : Qui định cách thức thể hiện window của ứng dụng * Lập trình C trên Windows 1.4: CÁCH VIẾT MỘT UD TRÊN MS WINDOWS Các thành phần của hàm WinMain Đăng ký lớp cửa sổ: WNDCLASS wndclass; // biến để định nghĩa một cửa sổ // Định nghĩa kiểu cửa sổ wndclass.style = SC_HREDRAW | CS_VREDRAW; wndclass.lpfnWndProc = WndProc; // Hàm thủ tục cửa sổ wndclass.cbClsExtra = 0;//Giá trị mở rộng của lớp wndclass.cbWndExtra = 0;// * Lập trình C trên Windows 1.4: CÁCH VIẾT MỘT UD TRÊN MS WINDOWS // Định nghĩa kiểu cửa sổ (tt): wndclass.hInstance = hInstance; // Định danh ứng dụng wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION); wndclass.hCursor = LoadCusor (NULL, IDC_ARROW); wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wndclass.lpszMenuName = NULL; // Không có menu wndclass.lpszClassName = szAppName; // tên ứng dụng * Lập trình C trên Windows 1.4: CÁCH VIẾT MỘT UD TRÊN MS WINDOWS // Đăng ký lớp cửa sổ if (!RegisterClass(&wndclass)) return 0 * Lập trình C trên Windows 1.4: CÁCH VIẾT MỘT UD TRÊN MS WINDOWS // Tạo lập cửa sổ hwnd = CreateWindow (szAppName, // Tên cửa sổ "Hello Program", // Tiêu đề WS_OVERLAPPEDWINDOW, // Kiểu cửa sổ CW_USEDEFAULT, // Tọa độ x CW_USEDEFAULT, // Tọa độ y CW_USEDEFAULT, // Chiều rộng CW_USEDEFAULT, // Chiều dài NULL, // Cửa sổ cha NULL, // Không có menu hInstacne, // Định danh ứng dụng NULL); // Tham số bổ sung * Lập trình C trên Windows 1.4: CÁCH VIẾT MỘT UD TRÊN MS WINDOWS // Hiển thị cửa sổ ShowWindow (hwnd, iCmdShow); UpdateWindow (hwnd); * Lập trình C trên Windows 1.4: CÁCH VIẾT MỘT UD TRÊN MS WINDOWS // Chu trình xử lý các thông điệp while (GetMessage (&msg, NULL, 0, 0)) { TranslateMessage (&msg); DispatchMessage (&msg); } return msg.wParam; } * Lập trình C trên Windows 1.4: CÁCH VIẾT MỘT UD TRÊN MS WINDOWS Hàm window (window function) Một ứng dụng giao tiếp với người sử dụng qua một hay nhiều window, mỗi window trong ứng dụng được kết hợp với một window function. Nhiệm vụ của hàm window là xử lý các message do hệ điều hành Windows hay WinMain gởi tới. Một ứng dụng viết trên Windows không bao giờ gọi trực tiếp window function. LRESULT CALLBACK WndProc(HWND hWnd, UINT Message,WPARAM wParam, LPARAM lParam); * Lập trình C trên Windows 1.4: CÁCH VIẾT MỘT UD TRÊN MS WINDOWS /*Xử lý các thông điệp cần thiết với ứng dụng*/ case WM_CREATE: /*Viết đoạn mã khi tạo cửa sổ*/ return 0; case WM_PAINT: /*Viết đoạn mã khi tô vẽ lại cửa sổ*/ return 0; case WM_SIZE: /*Viết đoạn mã khi kích thước cửa sổ thay đổi*/ return 0; case WM_DESTROY: /*Cửa sổ bị đóng*/ PostQuitMessage (0); return 0; * Lập trình C trên Windows 1.4: CÁCH VIẾT MỘT UD TRÊN MS WINDOWS Thông điệp WM_DESTROY Thông điệp này chỉ định rằng Windows đang trong quá trình hủy một cửa sổ khi người sử dụng click vào nút close button hay chọn close trong thực đơn hệ thống. Thông điệp này được Windows gởi đến hàm window thông qua tham số Message của hàm window. Xử lý thông thường của thông điệp này là kết thúc chương trình bởi vì người sử dụng huỷ bỏ cửa sổ chính. Để kết thúc chương trình gọi hàm PostQuitMessage(0), hàm này gởi đi thông điệp WM_QUIT làm cho message loop kết thúc. * Lập trình C trên Windows 1.4: CÁCH VIẾT MỘT UD TRÊN MS WINDOWS Thông điệp WM_CREATE Hàm window nhận được thông điệp này khi Windows đang xử lý hàm CreateWindow trong hàm WinMain, tức là lúc chương trình mới bắt đầu. Thông điệp này gởi đến hàm window qua thông số Message của hàm window. Thông điệp gởi đi khi chương trình mới bắt đầu do đó việc xử lý message là thường khởi động các giá trị ban đầu của chương trình ứng dụng. * Lập trình C trên Windows 1.4: CÁCH VIẾT MỘT UD TRÊN MS WINDOWS Thông điệp WM_PAINT Thông điệp WM_PAINT được phát đi khi một phần hay tất cả vùng client (vùng làm việc của cửa sổ) bị không hợp lệ và cần cập nhật, vẽ lại. Một vùng client không hợp lệ khi cửa sổ đầu tiên được tạo ra, khi người sử dụng thay đổi kích thước cửa sổ, khi người sử dụng di chuyển các cửa sổ xung quanh màn hình để chúng xếp chồng lên nhau Windows không lưu các vùng cửa sổ chị che nên khi không bị che thì chúng bị bất hợp lệ. Thông điệp này được gởi qua thông số Message của hàm window và việc xử lý thông điệp này luôn bắt đầu bằng hàm BeginPaint, và kết thúc bằng EndPaint. * Lập trình C trên Windows 1.4: CÁCH VIẾT MỘT UD TRÊN MS WINDOWS Xây dựng một ứng dụng đầu tiên WinMain : hàm chính của chương trình thực hiện các chức năng : Khai báo lớp cửa sổ. Đăng ký lớp cửa sổ vừa khai báo. Tạo và hiển thị lớp cửa sổ trên. Vòng lặp nhận thông điệp. WndProc : Hàm xử lý thông điệp gởi đến cửa sổ . * Lập trình C trên Windows 1.4: CÁCH VIẾT MỘT UD TRÊN MS WINDOWS Các kiểu dữ liệu mới PSTR: một con trỏ đến một chuỗi tương tự như char* WPARAM và LPARAM, trong tham số thứ 3 của hàm WndProc được khai báo là kiểu WORD, với kích thước 16-bit , còn tham số thứ 4 có kiểu LONG là 32-bit LRESULT: Kiểu này đơn giản được định nghĩa như là kiểu LONG HANDLE: là một số nguyên 32-bit được sử dụng như một kiểu định danh * Lập trình C trên Windows 1.4: CÁCH VIẾT MỘT UD TRÊN MS WINDOWS * Lập trình C trên Windows Chương 2: HỘP THOẠI VÀ THANH TRÌNH ĐƠN Lập trình C trên Windows 2.1: MỞ ĐẦU Hộp thoại (dialog) và thanh trình đơn (menu) là các thành phần không thể thiếu trong việc tổ chức giao tiếp giữa người sử dụng và chương trình. Hộp thoại được xem như là một loại cửa sổ đặc biệt, là công cụ mềm dẻo, linh hoạt để đưa thông tin vào chương trình một cách dễ dàng. Trong khi menu là công cụ giúp người dùng thực hiện các thao tác đơn giản hơn, thông qua các nhóm chức năng thường sử dụng . * Lập trình C trên Windows 2.1: MENU Menu popup hay dropdown Các trạng thái của Menu: Check Uncheck Enabled Disabled Grayed SEPARATOR * Lập trình C trên Windows 2.1: MENU Thiết lập Menu T...
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status