Danh mục

Bài giảng Lập trình Windows: Chương 5 - Lập trình tài nguyên

Số trang: 16      Loại file: pdf      Dung lượng: 211.80 KB      Lượt xem: 8      Lượt tải: 0    
Hoai.2512

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Nội dung của Chương 5 Lập trình tài nguyên trong bài giảng Lập trình Windows nêu cơ chế và cách tổ chức tài nguyên Lập trình một số tài nguyên. Thực đơn – menu Ảnh và biểu tượng – bitmap & icon & cursorm hộp thoại – Dialog, các đối tượng điều khiển – control objects, Thanh công cụ - toolbar, thanh trạng thái – status bar.
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình Windows: Chương 5 - Lập trình tài nguyênChương 5- Lập trình tài nguyên Cơ chế và cách tổ chức tài nguyên Lập trình một số tài nguyên  Thực đơn – menu  Ảnh và biểu tượng – bitmap & icon & cursor  Hộp thoại – Dialog  Các đối tượng điều khiển – control objects  Thanh công cụ - toolbar  Thanh trạng thái – status bar  …5.1- Tài nguyên & cách tổ chức Tài nguyên (resource)?  Là hình ảnh, âm thanh,... cung cấp giao diện cho ứng dụng.  Tài nguyên được định nghĩa trong tệp *.rc của dự án chương trình.  Mỗi tài nguyên được định danh bằng một số hiệu, có thể dùng tệp resource.h để định nghĩa. Cách tổ chức tài nguyên resource.h *.cpp *.rc #define NAME 5 ... tài nguyên ... Use 55.2- Thực đơn (menu) Cách tạo: VC tool / script ID-menu MENU { POPUP “tên-mục” language { MENUITEM “tên-mục” , ID-ite m .............. Mỗi mục chọn (item) } ............. có ID, Popup, MENUITEM “tên-mục” , ID-ite m ............. Caption,… }  Cả menu cũng có ID Xử lý menu thông qua đối tượng Cmenu, gồm các thao tác:5.2- Thực đơn (menu)… Gắn vào cửa sổ CMenu a; a.LoadMenu( ID-menu );  . SetM enu( &a ); Lập trình xử lý mục chọn (item): theo quy tăc xử lý thông điệp, mỗi item là một hàm xử lý & được ánh xạ bằng: ON_COMMAND( ID-item, tên-hàm ) Hiện thực đơn ngữ cảnh bằng: CMenu :: TrackPopupMenu( flags, x,y, parent ); flags = { TPM_LEFTALIGN,...}5.2- Thực đơn (menu)… Lấy thực đơn hệ thống bằng: CMenu * CWnd :: GetSystemMenu( 0 ); Một số hàm trong CMenu:  CreateMenu(); - tạo menu ngang  CreatePopupMenu(); - tạo menu dọc  AppendMenu( flags, id, text ); - thêm mục chọn  RemoveMenu( pos, flag ); - xóa mục chọn  GetSubMenu( int position ); - lấy menu dọc  GetMenuItemCount(); - lấy số mục chọn  …5.3- Ảnh & biểu tượng Biểu tượng (icon, cursor) là ảnh thu nhỏ  Cách tạo: VC tools / import từ các tệp *.ico, *.cur  Thiết lập ID cho mỗi biểu tượng trong RC  Đặt vào cửa sổ:  B1) Nạp biểu tượng vào chương trình HICON a = AfxGetApp() -> LoadIcon( ID-icon ); HCURSOR b = AfxGetApp() -> LoadCursor( ID-cursor );  B2) Thay đổi tham số lớp cửa sổ SetClassLong( HWND , kiểu , (long) định-danh ); where : kiểu là GCL_HICON/HCURSOR; định-danh từ bước 1  AfxGetApp() là lệnh lấy đối tượng chương trình5.3- Ảnh & biểu tượng… CBitmap là lớp để xử lý ảnh bitmap  B1) Nạp ảnh từ tài nguyên vào CBitmap CBitmap a ; a . LoadBitmap( ID-bitmap );  B2) Sử dụng, chép lên màn hình bằng DC ảo CDC b ; b.CreateCompatibleDC(  ); b.SelectObject( &a );  . BitBlt (x,y,w,h, &b, x’, y’, mode );  Hoặc sử dụng CImageList để xử lý CImageList :: Create( bitmapID, cx, num_Img, mask_color ); CImageList :: Draw( CDC *dc, int img, POINT pt, UINT style); where : style=ILD_NORMAL,...5.3- Ảnh & biểu tượng… Menu dạng ảnh: đặt các CBitmap vào mỗi item bằng lệnh CMenu :: SetMenuItemBitmaps( ID-pos , flag , Cbitmap *b1, Cbitmap *b2); where : ID-pos là ID hoặc vị trí mục chọn, flag = MF_BYCOMMAND/BYPOSITION, b1 là ảnh uncheck, b2 là ảnh check5.4. Hộp thoại & lớp CDialog  Hộp thoại là một dạng cửa sổ đặc biệt, nó được tạo sẵn trong tài nguyên chương trình và định danh bằng số hiệu (ID-Dialog).  Trên hộp thoại là các đối tượng điều khiển như: static, editbox, button,...  Ví dụ một hộp thoại: Số hiệu hộp thoại Hộp thoại đã được tạo Các điều khiển có thể tạo trên hộp thoại5.4. Hộp thoại & lớp CDialog...  Hộp thoại được định nghĩa như sau, hoặc tạo bằng công cụ VC số-hiệu-dialog DIALOG STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION “title” FONT size,name { tên_điều_khiển “text / caption” , số-hiệu , x,y, w,h, style }  Các đối tượng điều khiển đơn giản gồm Tên điều khiển Ý nghĩa Tham số kiểu - style LTEXT Văn bản tĩnh SS_CENTER, SS_ICON,... EDITTEXT Nhập văn bản ES_MULTILINE, ES_PASSWORD,... PUSHBUTTON Nút bấm BS_PUSHBUTTON, BS_CHECK ...

Tài liệu được xem nhiều: