intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Lập trình Windows: Chương 5 - Toolbar - DialogBar - Menu Bar

Chia sẻ: Lavie Lavie | Ngày: | Loại File: PPT | Số trang:25

79
lượt xem
2
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Lập trình Windows: Chương 5 được biên soạn nhằm cung cấp cho các bạn những kiến thức về Toolbar - DialogBar - Menu Bar. Đây là một trong những kiến thức cơ bản mà các bạn chuyên ngành Lập trình máy tính cần biết, mời các bạn tham khảo.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình Windows: Chương 5 - Toolbar - DialogBar - Menu Bar

  1. LẬP TRÌNH WINDOWS Toolbar DialogBar Menu Bar
  2. ToolBar MFC Tutorial - Adding a Toolbar Step 1: Tạo ứng dụng  MFC Window application Step 2: Click chuột phải ở  ResourceView:  Menu ­­> Insert Resource  ­­> Toolbar.  Đặt ID  toolbar:  IDR_MYTOOLBAR   thêm 4 button:  IDC_TBBUTTON1,  IDC_TBBUTTON2,  IDC_TBBUTTON3, 
  3. ToolBar MFC Tutorial - Adding a Toolbar Step 3: Khai báo biến CToolBar class CMainFrame : public  CFrameWnd { …. protected: CToolBar m_MyToolBar; …. }
  4. ToolBar MFC Tutorial - Adding a Toolbar Trong thông  điệp WM_CREATE  tạo  3 bước quan trọng để load một  toolbar  if (!m_MyToolBar.CreateEx(this, TBSTYLE_FLAT,  Step 4: G ọi hàm tạo lập cửa sổ tool bar    WS_CHILD | WS_VISIBLE | CBRS_TOP |  CBRS_GRIPPER )) {             MessageBox("Failed to create toolbar\n");      return ­1; } Step 5: Load resource tool bar            BOOL LoadToolBar( LPCTSTR lpszResourceName );. m_MyToolBar.LoadToolBar(IDR_MYTOOLBAR); Step 6:  Gắn Toolbar vào ứng dụng m_MyToolBar.EnableDocking(CBRS_ALIGN_ANY); EnableDocking(CBRS_ALIGN_ANY); DockControlBar(&m_MyToolBar);
  5. ToolBar MFC Tutorial - Adding a Toolbar
  6. ToolBar Gắn bên trên cửa sổ chính EnableDocking(CBRS_ALIGN_TOP); DockControlBar(&m_wndDrawBox,AFX_IDW_DOCKBAR_TOP);
  7. ToolBar Gắn bên trái cửa sổ chính EnableDocking(CBRS_ALIGN_LEFT); DockControlBar(&m_wndDrawBox,AFX_IDW_DOCKBAR_LEFT);
  8. ToolBar Hiển thị nhiều cột
  9. ToolBar Hiển thị nhiều cột //Thêm thu //Thêm thuộộc tính  c tính CBRS_SIZE_FIXED cho toolbar CBRS_SIZE_FIXED cho toolbar m_MyToolBar . SetBarStyle(m_MyToolBar .GetBarStyle() |    m_MyToolBar . SetBarStyle(m_MyToolBar .GetBarStyle() |                                                                             CBRS_SIZE_FIXED);                                                                           CBRS_SIZE_FIXED);  void CMainFrame::SetColumns(int nCols,CToolBar& tbToolBox) {  int nColumns = nCols; int nCount = tbToolBox.GetCount(); for(int i = 0; i 
  10. ToolBar Xử lý sự kiện click lên các button trong tool bar
  11. ToolBar Gắn ComboBox vào Toolbar
  12. ToolBar Gắn ComboBox vào Toolbar Khai báo biến quản lý ComboBox class CMainFrame : public CFrameWnd class CMainFrame : public CFrameWnd {{ protected: protected: CComboBox m_MyComboBox; CComboBox m_MyComboBox; CToolBar m_MyToolBar; CToolBar m_MyToolBar; };}; Thiết lập nút đầu tiên là separator (phần phân tách) với độ rộng là 150 pixels  m_MyToolBar.SetButtonInfo(0,ID_BUTTON1,TBBS_SEPARATOR,15 m_MyToolBar.SetButtonInfo(0,ID_BUTTON1,TBBS_SEPARATOR,15 0); 0); Tạo hình chữ nhật chứa ComboBox tại nút đầu tiên CRect rect; CRect rect; m_MyToolBar.GetItemRect(0,rect);  m_MyToolBar.GetItemRect(0,rect);  rect.bottom = rect.top+150; //t rect.bottom = rect.top+150; //tạạo đ o độộ sâu  sâu
  13. ToolBar Gắn ComboBox vào Toolbar Tạo cửa số ComboBox gắn vào Toolbar tại nút đầu tiên if (!m_MyComboBox.Create(WS_CHILD|CBS_DROPDOWN if (!m_MyComboBox.Create(WS_CHILD|CBS_DROPDOWN                                        |CBS_AUTOHSCROLL|WS_VSCROLL                                        |CBS_AUTOHSCROLL|WS_VSCROLL                                        |CBS_HASSTRINGS,                                        |CBS_HASSTRINGS,                 rect ,& m_MyToolBar , ID_BUTTON1))                 rect ,& m_MyToolBar , ID_BUTTON1)) {{ return ­1; return ­1; }} Tạo dữ liệu cho comboBox và hiển thị  m_MyComboBox.AddString("Time New Roman"); m_MyComboBox.AddString("Time New Roman"); m_MyComboBox.AddString("Tahoma"); m_MyComboBox.AddString("Tahoma"); m_MyComboBox.SetCurSel(1); m_MyComboBox.SetCurSel(1); m_MyComboBox.ShowWindow(SW_SHOW); m_MyComboBox.ShowWindow(SW_SHOW);
  14. Menu
  15. Menu - Thêm mới Menu resource
  16. Menu Khai báo biến quản lý ComboBox class CMainFrame : public CFrameWnd class CMainFrame : public CFrameWnd {{ protected: protected: CMenu m_MyMenu; CMenu m_MyMenu; };}; Load menu  từ tài nguyên: m_MyMenu.LoadMenu(IDR_MYMENU); m_MyMenu.LoadMenu(IDR_MYMENU); Hiển thị menu trong ứng dụng SetMenu(&m_MyMenu); SetMenu(&m_MyMenu);
  17. Menu - Context Menu - Right Click Popup Menu Thêm Resource Menu Th Thựực hi c hiệện t ương t n tươ ng tựự nh  nhưư thêm menu bình th ường  thêm menu bình thườ ng Cài đặt Right Click menu void CMyFirstMenuView::OnRButtonDown(UINT nFlags, Cpoint  point) void CMyFirstMenuView::OnRButtonDown(UINT nFlags, Cpoint  point) {{ CMenu menu; CMenu menu; menu.LoadMenu(IDR_MENU1); menu.LoadMenu(IDR_MENU1); ClientToScreen(&point);//Hi ClientToScreen(&point);//Hiểển th n thị popup t ị popup tạại v i vị trí click chu ị trí click chuộộtt menu.GetSubMenu(0)­>TrackPopupMenu( menu.GetSubMenu(0)­>TrackPopupMenu( TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x,point.y,this,NULL); TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x,point.y,this,NULL); }}
  18. Menu - Context Menu - Right Click Popup Menu Xác lập trạng thái của Item trong Popup Menu ptrMenu = menu.GetSubMenu(0); ptrMenu = menu.GetSubMenu(0); //Xac lap trang thai cua cac Item //Xac lap trang thai cua cac Item ptrMenu­>EnableMenuItem(IDM_OPEN,MF_GRAYED); ptrMenu­>EnableMenuItem(IDM_OPEN,MF_GRAYED); ptrMenu­>EnableMenuItem(IDM_SAVE, MF_CHECKED); ptrMenu­>EnableMenuItem(IDM_SAVE, MF_CHECKED); ptrMenu­>EnableMenuItem(IDM_EXIT, MF_ENABLED); ptrMenu­>EnableMenuItem(IDM_EXIT, MF_ENABLED);
  19. Menu - Thêm và Huỷ MenuItem Cú pháp InsertMenu(nPosition, nFlags, NewID, Caption) InsertMenu(nPosition, nFlags, NewID, Caption) MF_BYPOSITION: d MF_BYPOSITION: dựựa vào v a vào vị trí ị trí MF_BYCOMMAND: d MF_BYCOMMAND: dựựa vào ID, SEPARATOR không có  a vào ID, SEPARATOR không có  ID ID Separator nFlags = MF_SEPARATOR nFlags = MF_SEPARATOR NewID = ANY NewID = ANY Caption = ANY Caption = ANY MenuItem nFlags = None nFlags = None NewID = NEWID NewID = NEWID Caption Caption
  20. Menu - Thêm MenuItem void CMyFirstMenuView::OnPopupInsert() void CMyFirstMenuView::OnPopupInsert() {{ CMenu *topMenu = AfxGetMainWnd()­>GetMenu(); CMenu *topMenu = AfxGetMainWnd()­>GetMenu(); CMenu *ptrMenu = topMenu­>GetSubMenu(0); CMenu *ptrMenu = topMenu­>GetSubMenu(0); UINT nNewID = ID_USER_MENUITEM+m_nItem; UINT nNewID = ID_USER_MENUITEM+m_nItem; m_nItem = m_nItem+1; m_nItem = m_nItem+1; ptrMenu­>InsertMenu(1,MF_BYPOSITION,  ptrMenu­>InsertMenu(1,MF_BYPOSITION,                                   nNewID,"&Menu Caption");                                  nNewID,"&Menu Caption"); AfxGetMainWnd()­>DrawMenuBar(); AfxGetMainWnd()­>DrawMenuBar(); }}
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2