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
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 ...
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ìm kiếm theo từ khóa liên quan:
Lập trình tài nguyên Tổ chức tài nguyên Giao diện ứng dụng Lập trình Windows Kỹ thuật lập trình Windows Phương pháp lập trình Windows Ngôn ngữ lập trình WindowsGợi ý tài liệu liên quan:
-
Bài tập lập trình Windows dùng C# - Bài thực hành
13 trang 164 0 0 -
bảo mật mạng các phương thức giả mạo địa chỉ IP fake IP
13 trang 155 0 0 -
information technology outsourcing transactions process strategies and contracts 2nd ed phần 3
65 trang 104 0 0 -
Excel add in development in c and c phần 9
0 trang 102 0 0 -
Giáo trình Lập trình Windows 1 - Trường CĐN Đà Lạt
117 trang 91 0 0 -
Hướng dẫn lập trình OpenGL căn bản
33 trang 50 0 0 -
The CISA Prep Guide Mastering the Certified Information Systems Auditor Exam phần 1
60 trang 43 0 0 -
thủ thuật windows XP hay nhất phần 2
14 trang 39 0 0 -
Bài giảng Lập trình Windows nâng cao: ADO.NET - Bùi Công Danh
57 trang 37 0 0 -
Báo cáo nghiên cứu khoa học: Nghiên cứu phần mềm bãi giữ xe thông minh
37 trang 32 0 0