Thao tác Menu , Mouse , và Keyboard (VC 6.

0)
Giảng viên : Trần Anh Tuấn

Nội dung chính
 Giúp

cho SV nắm được cách tạo và sử dụng thành thạo :
 Các

loại menu

 Menu

Pull_Down  Menu Cascading  Menu Popup
 Các

sự kiện mouse  Cách nhận và bắt các sự kiện bàn phím

Menu
 Giúp

cho người dùng chọn thực hiện các chức năng (bằng phím tắt , hoặc dùng chuột nhấp vào từng menuitem )  Có ba loại menu thông dụng

Pull_down Menu

Cascading Menu

Popup Menu

Pull_down menu & Cascading Menu
 Tab

ResourceView>Insert Menu>Create Menu  Check lại các ID sinh ra cho từng menuitem  Nếu muốn Cascading menu check thuộc tính Popup

Pull_down menu & Cascading Menu
 Load

menu:
chức năng :

 Dùng

 Dùng
  

lệnh :
CMenu mainmenu; mainmenu.LoadMenu(IDR_MENU); SetMenu(&mainmenu);

Pull_down menu & Cascading Menu
 Cách

disable một menuitem

mainmenu.EnableMenuItem (ID_???, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);

 Thao

tác trên menuitem

 Classwinzard

chọn ID cần thao tác  Add sự kiện WM_COMMAND  Đặt tên hàm tương ứng  Viết đoạn ã xử lý

Popup Menu
 Cách

tạo tương tự Pull_Down Menu  Định nghĩa ID tương tự  Classwinzard thêm function cho message WM_CONTEXT_MENU
      

void CBai3Dlg::OnContextMenu(CWnd* pWnd, CPoint point) { CMenu menupopup; menupopup.LoadMenu(IDR_MENU); CMenu* pPopup = menupopup.GetSubMenu(0); pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON , point.x,point.y,this); }

Thao tác Mouse
 Các
       

thao tác chuột thông dụng:

WM_LBUTTONDOWN WM_LBUTTONUP WM_LBUTTONBLCLK WM_RBUTTONDOWN WM_RBUTTONUP WM_RBUTTONBLCLK WM_MOUSEMOVE WM_MOUSEWEEL

 Add

function tương ứng cho các sự kiện muốn xử lý

Thao tác Keyboard
 Add
  

function PreTranslateMessage và gửi thông thông điệp cho WM_KEYDOWN:
If (pMsg->message == WM_KEYDOWN) { SendMessage(WM_KEYDOWN, pMsg->wParam, pMsg->lParam); }

 Add

function tương ứng cho sự kiện WM_KEYDOWN
OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
 

if (nChar == ‘{ký tự}') {do yourself } if (nChar == {Mã ký tự ảo}) {do yourseft }

Thao tác Keyboard
 {ký

tự}

 ‘A’

… ‘Z’  ‘1’ … ‘9’  ‘a’ … ‘z’
 {Mã
  

ký tự ảo}

VK_LBUTTON , VK_RBUTTON , VK_CANCEL (Ctrl-break)… VK_BACK , VK_TAB , VK_RETURN (Enter) , …… VK_LEFT , VK_UP , VK_RIGHT , VK_DOWN , VK_PRIOR , VK_NEXT , VK_END, VK_HOME ….. VK_ADD , VK_MULTIPLY , VK_SUBTRACT , VK_DIVIDE ….

Sign up to vote on this title
UsefulNot useful