Chương 5- Lập trình tài nguyên<br />
<br />
<br />
<br />
Cơ chế và cách tổ chức tài nguyên<br />
Lập trình một số tài nguyên<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Thực đơn – menu<br />
Ảnh và biểu tượng – bitmap & icon & cursor<br />
Hộp thoại – Dialog<br />
Các đối tượng điều khiển – control objects<br />
Thanh công cụ - toolbar<br />
Thanh trạng thái – status bar<br />
…<br />
<br />
5.1- Tài nguyên & cách tổ chức<br />
<br />
<br />
Tài nguyên (resource)?<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Là hình ảnh, âm thanh,... cung cấp giao diện cho<br />
ứng dụng.<br />
Tài nguyên được định nghĩa trong tệp *.rc của dự<br />
án chương trình.<br />
Mỗi tài nguyên được định danh bằng một số hiệu,<br />
có thể dùng tệp resource.h để định nghĩa.<br />
<br />
Cách tổ chức tài nguyên<br />
*.rc<br />
... tài nguyên ...<br />
5<br />
<br />
resource.h<br />
<br />
*.cpp<br />
<br />
#define NAME 5<br />
Use<br />
<br />
5.2- Thực đơn (menu)<br />
<br />
<br />
Cách tạo: VC tool / script<br />
language<br />
<br />
Mỗi mục chọn (item)<br />
có ID, Popup,<br />
Caption,…<br />
Cả menu cũng có ID<br />
Xử lý menu thông qua<br />
đối tượng Cmenu, gồm<br />
các thao tác:<br />
<br />
<br />
<br />
<br />
ID-menu MENU<br />
{<br />
POPUP “tên-mục”<br />
{<br />
MENUITEM “tên-mục” , ID-item<br />
..............<br />
}<br />
.............<br />
MENUITEM “tên-mục” , ID-item<br />
.............<br />
}<br />
<br />
5.2- Thực đơn (menu)…<br />
<br />
<br />
Gắn vào cửa sổ<br />
CMenu a;<br />
a.LoadMenu( ID-menu );<br />
. SetMenu( &a );<br />
<br />
<br />
<br />
Lập trình xử lý mục chọn (item): theo quy tăc xử lý<br />
thông điệp, mỗi item là một hàm xử lý & được ánh<br />
xạ bằng:<br />
ON_COMMAND( ID-item, tên-hàm )<br />
<br />
<br />
<br />
Hiện thực đơn ngữ cảnh bằng:<br />
CMenu :: TrackPopupMenu( flags, x,y, parent );<br />
flags = { TPM_LEFTALIGN,...}<br />
<br />
5.2- Thực đơn (menu)…<br />
<br />
<br />
Lấy thực đơn hệ thống bằng:<br />
CMenu * CWnd :: GetSystemMenu( 0 );<br />
<br />
<br />
<br />
Một số hàm trong CMenu:<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
CreateMenu(); - tạo menu ngang<br />
CreatePopupMenu(); - tạo menu dọc<br />
AppendMenu( flags, id, text ); - thêm mục chọn<br />
RemoveMenu( pos, flag ); - xóa mục chọn<br />
GetSubMenu( int position ); - lấy menu dọc<br />
GetMenuItemCount(); - lấy số mục chọn<br />
…<br />
<br />