Bài giảng Lập trình Windows: Chương 5 - Toolbar - DialogBar - Menu Bar
lượt xem 2
download
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.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Lập trình Windows: Chương 5 - Toolbar - DialogBar - Menu Bar
- LẬP TRÌNH WINDOWS Toolbar DialogBar Menu Bar
- 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,
- ToolBar MFC Tutorial - Adding a Toolbar Step 3: Khai báo biến CToolBar class CMainFrame : public CFrameWnd { …. protected: CToolBar m_MyToolBar; …. }
- 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);
- ToolBar MFC Tutorial - Adding a Toolbar
- ToolBar Gắn bên trên cửa sổ chính EnableDocking(CBRS_ALIGN_TOP); DockControlBar(&m_wndDrawBox,AFX_IDW_DOCKBAR_TOP);
- ToolBar Gắn bên trái cửa sổ chính EnableDocking(CBRS_ALIGN_LEFT); DockControlBar(&m_wndDrawBox,AFX_IDW_DOCKBAR_LEFT);
- ToolBar Hiển thị nhiều cột
- 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
- ToolBar Xử lý sự kiện click lên các button trong tool bar
- ToolBar Gắn ComboBox vào Toolbar
- 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
- 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);
- Menu
- Menu - Thêm mới Menu resource
- 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);
- 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); }}
- 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);
- 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
- 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(); }}
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Lập trình Window: Chương 6 - Phan Trọng Tiến
35 p | 168 | 20
-
Bài giảng Lập trình Windows - Chương 3: Lập trình giao diện
196 p | 103 | 18
-
Bài giảng Lập trình Window: Chương 8 - Phan Trọng Tiến
45 p | 101 | 17
-
Bài giảng Lập trình Window: Chương 5 - Phan Trọng Tiến
42 p | 108 | 11
-
Bài giảng Lập trình Windows: Chương 4 - Lập trình đồ họa với thư viện GDI (Graphics Device Interface)
47 p | 123 | 9
-
Bài giảng Lập trình Windows - Chương 3: Lập trình C++ trên Windows (2016)
16 p | 78 | 8
-
Bài giảng Lập trình Windows - Chương 2: Lập trình với cửa sổ bằng API (2016)
10 p | 87 | 8
-
Bài giảng Lập trình Windows - Chương 1: Tổng quan lập trình Windows (2016)
6 p | 154 | 8
-
Bài giảng Lập trình Window: Chương 4 - Phan Trọng Tiến
26 p | 95 | 8
-
Bài giảng Lập trình Windows: Chương 2 - Giới thiệu về MFC, Visual C++ 6.0
61 p | 115 | 8
-
Bài giảng Lập trình Windows: Chương 1 - Một số khái niệm cơ bản
56 p | 127 | 6
-
Bài giảng Lập trình Windows - Chương 8: Lập trình đa luồng (2016)
9 p | 88 | 6
-
Bài giảng Lập trình Windows - Chương 5: Lập trình tài nguyên (2016)
16 p | 75 | 5
-
Bài giảng Lập trình Windows - Chương 6: Lập trình File & Print (2016)
7 p | 75 | 5
-
Bài giảng Lập trình Windows - Chương 9: Lập trình thư viện động (2016)
9 p | 79 | 5
-
Bài giảng Lập trình Windows - Chương 10: Lập trình Hook (2016)
6 p | 62 | 4
-
Bài giảng Lập trình Windows: Chương 3 - Dialog Box - Common Dialog - Property Sheet
25 p | 76 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn