Bài giảng lập trình C trên Win

98 12 0
Bài giảng lập trình C trên Win

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Các ứng dụng của Windowns rất dễ sử dụng, nhưng rất khó đối với người tạo lập chúng.Các ứng dụng của Windows rất dễ sử dụng, nhưng lại rất khó đối với người tạo lập ra chúng. Lập trình trên Windows khó và phức tạp hơn nhiều so với lập trình trên Dos.Windows cung cấp các hàm để người lập trình thâm nhập các đặc trưng của hệ điều hành gọi là giao diện lập trình ứng dụng (API). Những hàm này đặt trong các thư viện liên kết động (.DLL)......

BÀI GIẢNG LẬP TRÌNH C TRÊN WIN Lương Văn Vân Khoa công nghệ thông tin MỘT SỐ TIÊU ĐIỂM CỦA MƠN HỌC Lập trình C Windows  Tổng số tiết:  Lý thuyết:  Bài tập:  Thực hành:  Sinh viên cần phải học trước môn  Lập trình C  Thi kết thúc mơn học hình thức thi thực hành Khoa cơng nghệ thơng tin 105 tiết 45 tiết tiết 60 tiết TÀI LIỆU THAM KHẢO Lập trình C Windows  Lập trình WinDows Visual C++, Đặng Văn Đức – Lê Quốc Hưng, NXB Giáo dục, 2001  Lập trình C Win, Đặng Văn Đức, Nhà xuất Khoa học kỹ thuật, 1998  Bài giảng Lập trình C Windows  www.codeproject.com, www.codeguru.com Khoa cơng nghệ thơng tin NỘI DUNG Lập trình C Windows TỔNG QUAN LẬP TRÌNH C TRÊN WIN HỘP THOẠI VÀ THANH TRÌNH ĐƠN CÁC ĐỐI TƯỢNG ĐIỀU KHIỂN XỬ LÝ BÀN PHÍM, CHUỘT VÀ TIMER XỬ LÝ VĂN BẢN VÀ FONT CHỮ ĐỒ HỌA VÀ CÁC ĐỐI TƯỢNG GDI Khoa công nghệ thơng tin Chương 1: TỔNG QUAN LẬP TRÌNH C TRÊN WINDOWS Lập trình C Windows Mở đầu Hệ điều hành Microsoft Windows Lập trình Microsoft Windows Cách viết ứng dụng MS Windows Khoa công nghệ thơng tin 1.1: MỞ ĐẦU Lập trình C Windows  Các ứng dụng Windows dễ sữ dụng, khó người tạo lập chúng  Lập trình Windows khó phức tạp nhiều so với lập trình Dos  Windows cung cấp hàm để người lập trình thâm nhập đặc trưng hệ điều hành gọi giao diện lập trình ứng dụng (API) Những hàm đặt thư viện liên kết động (.DLL) Khoa công nghệ thông tin 1.2: HỆ ĐIỀU HÀNH MICROSOFT WINDOWS Lập trình C Windows  Hệ điều hành Windows giao tiếp với người sử dụng mơi trường đồ họa (graphic)  Windows hệ thống đa nhiệm cho phép nhiều ứng dụng thi hành đồng thời  Windows cho phép chạy ứng dụng mà mã lớn nhớ có nhờ vào chế nhớ ảo  Windows cung cấp chế thư viện liên kết động  Hàng đợi nhập liệu Khoa cơng nghệ thơng tin 1.3: LẬP TRÌNH TRÊN MICROSOFT WINDOWS Lập trình C Windows  Cơ chế lập trình Windows: Một chương trình ứng dụng người lập trình phải xây dựng, khai báo, kế thừa tài nguyên giao diện  Cửa sổ:  Thực đơn  Hộp hội thoại Khoa công nghệ thông tin 1.3: LẬP TRÌNH TRÊN MICROSOFT WINDOWS Lập trình C Windows  Sự khác biệt so với lập trình MS-Dos Khoa công nghệ thông tin 1.3: LẬP TRÌNH TRÊN MICROSOFT WINDOWS Lập trình C Windows  Cơ chế thông điệp: Khoa công nghệ thông tin 10 Chương 5: XỬ LÝ VĂN BẢN VÀ FONT CHỮ Lập trình C Windows  Font: có thuộc tính  Typeface: loạI font (Times, Courier, Arial,…)  Style: kiểu dáng (normal, thin, bold,…)  Size: kích cỡ chữ, xác định theo đơn vị point, point = 1/72 inch = 0.013837 inch Khoa công nghệ thông tin 84 Chương 5: XỬ LÝ VĂN BẢN VÀ FONT CHỮ Lập trình C Windows  Thiết lập font chữ cho vùng client  Để sử dụng font hệ thống Windows thực bước sau:: • Gọi hàm GetStockObject() để lấy điều khiển Font HFONT hFont; //khai báo danh đk font hFont = GetStockObject(int fnObject); Trong đó: fnObject kiểu Font Chọn SYSTEM_FONT loại font có hệ thống Windows Khoa cơng nghệ thơng tin 85 Chương 5: XỬ LÝ VĂN BẢN VÀ FONT CHỮ Lập trình C Windows • Gọi hàm GetObject () lấy thông tin Font int GetObject( HFONT hFont, int LogFontSize, LOGFONT Lf ); Trong đó: hFoont: danh điều khiển Font LogFontSize: Kích thước cấu trúc font LOGFONT Lf: Con trỏ trỏ đến cấu trúc LOGFONT Ví dụ: GetObject(hFont, sizeof(LOGFONT), (LOGFONT *) &Lf); Khoa cơng nghệ thông tin 86 Chương 5: XỬ LÝ VĂN BẢN VÀ FONT CHỮ Lập trình C Windows  Cấu trúc LOGFONT: typedef struct tagLOGFONT{  LONG lfHeight;  LONG lfWidth;  LONG lfEscapement;  LONG lfOrientation;  LONG lfWeight;  BYTE lfItalic;  BYTE lfUnderline;  BYTE lfStrikeOut;  BYTE lfCharSet;  BYTE lfOutPrecision;  BYTE lfClipPrecision;  BYTE lfQuality;  BYTE lfPitchAndFamily;  TCHAR lfFaceName [LF_FACESIZE]; } LOGFONT; Khoa công nghệ thông tin 87 Chương 5: XỬ LÝ VĂN BẢN VÀ FONT CHỮ Lập trình C Windows • Xác định Font tiếng việt trường lfFaceName tham số lf strcpy((char*)lf.lfFaceName, "VNI-Times"); • Gọi hàm CreateFontIndirect() để tạo font có thuộc tính xác định HFONT = CreateFontIndirect(CONST LOGFONT *lplf ); • Gọi hàm SelectObject() cài đặt Font xác định vào vùng client HFONT = SelectObject(HDC hDC, HFONT hFont); Khoa công nghệ thông tin 88 Chương 6: ĐỒ HỌA VÀ CÁC ĐỐI TƯỢNG GDI Lập trình C Windows Khoa cơng nghệ thông tin Chương 6: ĐỒ HỌA VÀ CÁC ĐỐI TƯỢNG GDI Lập trình C Windows  Thơng điệp WM_PAINT: Được phát phần hay tất vùng client bị không hợp lệ cần cập nhật, vẽ lại Vùng client không hợp lệ khi: - Cửa sổ tạo - Người sử dụng thay đổi kích thước cửa sổ - Người sử dụng di chuyển cửa sổ Khoa công nghệ thông tin 90 Chương 6: ĐỒ HỌA VÀ CÁC ĐỐI TƯỢNG GDI Lập trình C Windows  Vẽ hình chữ nhật: Rectangle( HDC hDC, int upX, int upY, int lowX, int lowY)  upX, upY: góc bên trái  lowX, lowY: góc bên phải Khoa cơng nghệ thơng tin 91 Chương 6: ĐỒ HỌA VÀ CÁC ĐỐI TƯỢNG GDI Lập trình C Windows  Vẽ Elip: Ellipse( HDC hDC, int upX, int upY, int lowX, int lowY)  upX, upY: góc bên trái  lowX, lowY: góc bên phải Khoa công nghệ thông tin 92 Chương 6: ĐỒ HỌA VÀ CÁC ĐỐI TƯỢNG GDI Lập trình C Windows  Tạo  thuộc tính bút vẽ: Gọi hàm CreatePen: CreatePen(int style, int width, COLOREF color); • Style: kiểu bút vẽ có giá trị: – PS_DASH : Gạch ngang – PS_DASHDOT : Gạch ngang chấm – PS_DASHDOTDOT : Gach ngang chấm chấm – PS_DOT : Chấm – PS_SOLID : Đường thẳng liền nét • Width: độ dày bút vẽ Khoa công nghệ thông tin 93 Chương 6: ĐỒ HỌA VÀ CÁC ĐỐI TƯỢNG GDI Lập trình C Windows  Gọi hàm SelectObject () áp đặt bút vẽ vào DC SelectObject(HDC hDC, HPEN hPen);   Gọi hàm DeleteObject() xóa bút vẽ : VD1 Tạo Pen HPEN hPen = CreatePen(PS_SOLID, 2, RGB(255, 0, 0); Khoa công nghệ thông tin 94 Chương 6: ĐỒ HỌA VÀ CÁC ĐỐI TƯỢNG GDI Lập trình C Windows  Tạo chổi quét:  Chổi quét đặc: • HBRUSH CreateSolidBrush(COLORREF color); • SelectObject(HDC hDC, hBrush);  Chổi quét hoa văn: • HBRUSH CreatePatternBrush(CHBITMAP hBitmap); – hBitmap: hoa văn dạng bitmap • SelectObject(HDC hDC, hBrush);  Gọi hàm DeleteObject() xóa chổi vẽ Khoa cơng nghệ thơng tin 95 Chương 6: ĐỒ HỌA VÀ CÁC ĐỐI TƯỢNG GDI Lập trình C Windows  Hiển thị Bitmap:  Tạo nguồn bitmap tập tin tài nguyên : • BitmapName BITMAP “c:\filebitmap.bmp”  Hàm LoadBitmap(): nạp Bitmap vào ứng dụng dùng LoadBitmap(HINSTANCE hThisInst, LPCSTR lpszName) – LpszName : tên bitmap “BitmapName” • Ví dụ: HBITMAP hBit1; hBit1= LoadBitmap(hThisInst, “BitmapName”); Khoa công nghệ thông tin 96 Chương 6: ĐỒ HỌA VÀ CÁC ĐỐI TƯỢNG GDI Lập trình C Windows      Đạt device context cửa sổ • hDC = GetDC(hWnd); Đạt device context nhớ chứa bitmap • HDC hMemDC; • hMemDC = CreateCompatibleDC(hDC); Chọn bitmap device context nhớ • SelectObject (hMemDC, hBit1); Sao chép bitmap từ DC nhớ sang DC cửa sổ • BitBlt(hDC,xd,yd, Wd, Hd, hMemDC, xs,ys , SRCCOPY); Giải phóng device context cửa sổ nhớ • ReleaseDC(hWnd, hDC); • DeleteDC(hMemDC); Khoa cơng nghệ thơng tin 97 Lương Văn Vân Khoa công nghệ thông tin ... 1.3: LẬP TRÌNH TRÊN MICROSOFT WINDOWS Lập trình C Windows  Sự kh? ?c biệt so với lập trình MS-Dos Khoa c? ?ng nghệ thơng tin 1.3: LẬP TRÌNH TRÊN MICROSOFT WINDOWS Lập trình C Windows  C? ? chế thơng... Lập trình C Windows  Lập trình WinDows Visual C+ +, Đặng Văn Đ? ?c – Lê Qu? ?c Hưng, NXB Giáo d? ?c, 2001  Lập trình C Win, Đặng Văn Đ? ?c, Nhà xuất Khoa h? ?c kỹ thuật, 1998  Bài giảng Lập trình C Windows... CHỮ ĐỒ HỌA VÀ C? ?C ĐỐI TƯỢNG GDI Khoa c? ?ng nghệ thông tin Chương 1: TỔNG QUAN LẬP TRÌNH C TRÊN WINDOWS Lập trình C Windows Mở đầu Hệ điều hành Microsoft Windows Lập trình Microsoft Windows C? ?ch

Ngày đăng: 09/05/2021, 18:48

Tài liệu cùng người dùng

Tài liệu liên quan