第9章为窗体添加菜单和工具栏_bz
- 格式:ppt
- 大小:831.00 KB
- 文档页数:14
MFC框体添加菜单栏工具栏状态栏菜单栏CMenu封装了菜单句柄和相关菜单API1.1添加资源1.2在CMainFrame::OnCreate函数中添加菜单;CMenu::Attach——将菜单句柄附加到菜单对象中;CMenu::Detach——将菜单句柄从菜单对象中分离1.3 命令相关ON_COMMAND1.4 菜单项的状态ON_UPDATE_COMMAND_UI CCmdUI类工具栏工具栏相关类CToolBarCtrl——父类是CWnd,封装了Toolbar Control控件的相关信息,API等。
CToolBar——父类CControlBar,封装了ToolBar和CFrameWnd之间的关系。
2.1创建工具栏CToolBar::Create/Ex2.2 加载工具栏2.3工具栏的停靠CToolBar::EnableDocking设置工具栏允许停靠;CFrameWnd::EnableDocking设置窗口允许被停靠;CFrameWnd::DockControlBar设置停靠位置。
2.4命令处理2.5工具栏的显示与隐藏CFrameWnd::ShowControlBar2.6信息提示增加风格CBRS_TOOLTIPS;设置提示信息。
状态栏状态栏相关类CStatusBarCtrl——父类是CWnd,封装了StatusBars的相关信息,API 等。
CStatusBar——父类CControlBar,封装了状态栏和窗口之间的关系。
3.1创建状态栏CStatusBar::Create/Ex3.2设置状态栏指示器CStatusBar::SetIndicators3.3设置或获取状态栏信息CStatusBar::SetPaneText,CStatusBar::GetPaneText实例[cpp]#include "stdafx.h"#include "Resource.h"UINT g_nIndicators[]={0,IDS_TIME,ID_INDICATOR_CAPS,ID_INDICATOR_NUM,ID_INDICATOR_SCRL};class CMainFrame:public CFrameWnd{public:DECLARE_MESSAGE_MAP()afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);//菜单栏,工具栏,状态栏创建与加载//菜单栏消息处理函数afx_msg void OnExit();afx_msg void OnOpen();afx_msg void OnUpdateUIOpen(CCmdUI* pCmdUI);//工具栏消息处理函数afx_msg void OnViewStandard();afx_msg void OnUpdateUIStandard(CCmdUI* pCmdUI);//状态栏消息处理函数afx_msg void OnTimer(UINT nIDEvent);afx_msg void OnMouseMove(UINT nFlags, CPoint point);private:CToolBar mWndToolBar;CStatusBar mWndStatusBar;};BEGIN_MESSAGE_MAP(CMainFrame,CFrameWnd)ON_WM_CREATE()ON_COMMAND(ID_OPEN,OnOpen)ON_COMMAND(ID_EXIT,OnExit)ON_UPDA TE_COMMAND_UI(ID_OPEN,OnUpdateUIOpen)ON_COMMAND(ID_VIEW_STANDARD,OnViewStandard)ON_UPDA TE_COMMAND_UI(ID_VIEW_STANDARD,OnUpdateUIStandard)ON_WM_TIMER()ON_WM_MOUSEMOVE()END_MESSAGE_MAP()int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){//添加菜单CMenu menu;menu.LoadMenuW(IDR_MAINFRAME);//加载菜单资源SetMenu(&menu);//将菜单设置到窗口menu.Detach();//将菜单句柄与菜单对象分离//添加工具栏mWndToolBar.CreateEx(this,TBSTATE_CHECKED,WS_CHILD|WS_VISIBLE|CB RS_ALIGN_ANY|CBRS_TOOLTIPS);mWndToolBar.LoadToolBar(IDR_MAINFRAME);//加载工具栏//停靠工具栏mWndToolBar.EnableDocking(CBRS_ALIGN_ANY);//1.设置工具栏允许停靠EnableDocking(CBRS_ALIGN_ANY);//设置框架窗口允许被停靠DockControlBar(&mWndToolBar,AFX_IDW_DOCKBAR_TOP);//停靠工具栏操作mWndToolBar.SetWindowTextW(L"标准工具栏");//设置工具栏的标题//创建状态栏mWndStatusBar.CreateEx(this);mWndStatusBar.SetIndicators(g_nIndicators,sizeof(g_nIndicators)/sizeof(UINT));//设置指示灯SetTimer(100,1000,NULL);//启动定时器return 0;}void CMainFrame::OnOpen(){MessageBox(L"OnOpen");}void CMainFrame::OnExit(){MessageBox(L"OnExit");//PostQuitMessage(0);}void CMainFrame::OnUpdateUIOpen(CCmdUI* pCmdUI) {pCmdUI->SetCheck();pCmdUI->SetRadio();pCmdUI->SetText(L"Open");}void CMainFrame::OnViewStandard(){if (mWndToolBar.IsWindowVisible()){ShowControlBar(&mWndToolBar,FALSE,FALSE);}else{ShowControlBar(&mWndToolBar,TRUE,FALSE);}}void CMainFrame::OnUpdateUIStandard(CCmdUI* pCmdUI) {pCmdUI->SetCheck(mWndToolBar.IsVisible());}void CMainFrame::OnTimer(UINT nIDEvent){CTime t=CTime::GetCurrentTime();CString strTime=t.Format("%Y-%m-%d %H:%M:%S");mWndStatusBar.SetPaneText(1,strTime);}void CMainFrame::OnMouseMove(UINT nFlags, CPoint point){CString strPt;strPt.Format(L"坐标:X=%d,Y=%d",point.x,point.y);mWndStatusBar.SetPaneText(0,strPt);}class MFCMenu:public CWinApp{public:virtual BOOL InitInstance();};BOOL MFCMenu::InitInstance(){CMainFrame *pFrame=new CMainFrame;pFrame->Create(NULL,L"MFCMenue");//pFrame->Create(NULL,L"MFCToolbar",WS_OVERLAPPEDWINDOW,CFrameW nd::rectDefault,NULL,MAKEINTRESOURCE(IDR_MAINFRAME));m_pMainWnd=pFrame;pFrame->ShowWindow(SW_SHOW);pFrame->UpdateWindow();return TRUE;}MFCMenu theApp;#include "stdafx.h"#include "Resource.h"UINT g_nIndicators[]={0,IDS_TIME,ID_INDICATOR_CAPS,ID_INDICATOR_NUM,ID_INDICATOR_SCRL};class CMainFrame:public CFrameWnd{public:DECLARE_MESSAGE_MAP()afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);//菜单栏,工具栏,状态栏创建与加载//菜单栏消息处理函数afx_msg void OnExit();afx_msg void OnOpen();afx_msg void OnUpdateUIOpen(CCmdUI* pCmdUI);//工具栏消息处理函数afx_msg void OnViewStandard();afx_msg void OnUpdateUIStandard(CCmdUI* pCmdUI);//状态栏消息处理函数afx_msg void OnTimer(UINT nIDEvent);afx_msg void OnMouseMove(UINT nFlags, CPoint point);private:CToolBar mWndToolBar;CStatusBar mWndStatusBar;};BEGIN_MESSAGE_MAP(CMainFrame,CFrameWnd)ON_WM_CREATE()ON_COMMAND(ID_OPEN,OnOpen)ON_COMMAND(ID_EXIT,OnExit)ON_UPDA TE_COMMAND_UI(ID_OPEN,OnUpdateUIOpen)ON_COMMAND(ID_VIEW_STANDARD,OnViewStandard)ON_UPDA TE_COMMAND_UI(ID_VIEW_STANDARD,OnUpdateUIStandard)ON_WM_TIMER()ON_WM_MOUSEMOVE()END_MESSAGE_MAP()int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){//添加菜单CMenu menu;menu.LoadMenuW(IDR_MAINFRAME);//加载菜单资源SetMenu(&menu);//将菜单设置到窗口menu.Detach();//将菜单句柄与菜单对象分离//添加工具栏mWndToolBar.CreateEx(this,TBSTATE_CHECKED,WS_CHILD|WS_VISIBLE|CBRS _ALIGN_ANY|CBRS_TOOLTIPS);mWndToolBar.LoadToolBar(IDR_MAINFRAME);//加载工具栏//停靠工具栏mWndToolBar.EnableDocking(CBRS_ALIGN_ANY);//1.设置工具栏允许停靠EnableDocking(CBRS_ALIGN_ANY);//设置框架窗口允许被停靠DockControlBar(&mWndToolBar,AFX_IDW_DOCKBAR_TOP);//停靠工具栏操作mWndToolBar.SetWindowTextW(L"标准工具栏");//设置工具栏的标题 //创建状态栏mWndStatusBar.CreateEx(this);mWndStatusBar.SetIndicators(g_nIndicators,sizeof(g_nIndicators)/sizeof(UINT));//设置指示灯SetTimer(100,1000,NULL);//启动定时器return 0;}void CMainFrame::OnOpen(){MessageBox(L"OnOpen");}void CMainFrame::OnExit(){MessageBox(L"OnExit");//PostQuitMessage(0);void CMainFrame::OnUpdateUIOpen(CCmdUI* pCmdUI) {pCmdUI->SetCheck();pCmdUI->SetRadio();pCmdUI->SetText(L"Open");}void CMainFrame::OnViewStandard(){if (mWndToolBar.IsWindowVisible()){ShowControlBar(&mWndToolBar,FALSE,FALSE);}else{ShowControlBar(&mWndToolBar,TRUE,FALSE);}}void CMainFrame::OnUpdateUIStandard(CCmdUI* pCmdUI) {pCmdUI->SetCheck(mWndToolBar.IsVisible());}void CMainFrame::OnTimer(UINT nIDEvent){CTime t=CTime::GetCurrentTime();CString strTime=t.Format("%Y-%m-%d %H:%M:%S");mWndStatusBar.SetPaneText(1,strTime);}void CMainFrame::OnMouseMove(UINT nFlags, CPoint point) {CString strPt;strPt.Format(L"坐标:X=%d,Y=%d",point.x,point.y);mWndStatusBar.SetPaneText(0,strPt);class MFCMenu:public CWinApp{public:virtual BOOL InitInstance();};BOOL MFCMenu::InitInstance(){CMainFrame *pFrame=new CMainFrame;pFrame->Create(NULL,L"MFCMenue");//pFrame->Create(NULL,L"MFCToolbar",WS_OVERLAPPEDWINDOW,CFrameWnd: :rectDefault,NULL,MAKEINTRESOURCE(IDR_MAINFRAME));m_pMainWnd=pFrame;pFrame->ShowWindow(SW_SHOW);pFrame->UpdateWindow();return TRUE;}MFCMenu theApp;菜单栏的一些资源[cpp]/////////////////////////////////////////////////////////////////////////////// BitmapIDR_MAINFRAME BITMAP "res\\toolbar1.bmp"/////////////////////////////////////////////////////////////////////////////// ToolbarIDR_MAINFRAME TOOLBAR 16, 15BEGINBUTTON ID_OPENBUTTON ID_EXITSEPARATORBUTTON ID_EDIT_COPYBUTTON ID_EDIT_PASTESEPARATORBUTTON ID_APP_ABOUTEND/////////////////////////////////////////////////////////////////////////////// MenuIDR_MAINFRAME MENUBEGINPOPUP "文件(&F)"BEGINMENUITEM "打开(&O)", ID_OPENMENUITEM "退出(&X)", ID_EXITENDPOPUP "视图(&V)"BEGINPOPUP "工具栏(&T)"BEGINMENUITEM "标准(&S)", ID_VIEW_STANDARD ENDENDEND///////////////////////////////////////////////////////////////////////////// STRINGTABLEBEGINIDS_TIME " "END/////////////////////////////////////////////////////////////////////////////// BitmapIDR_MAINFRAME BITMAP "res\\toolbar1.bmp"/////////////////////////////////////////////////////////////////////////////// ToolbarIDR_MAINFRAME TOOLBAR 16, 15BEGINBUTTON ID_OPENBUTTON ID_EXITSEPARATORBUTTON ID_EDIT_COPYBUTTON ID_EDIT_PASTESEPARATORBUTTON ID_APP_ABOUTEND/////////////////////////////////////////////////////////////////////////////// MenuIDR_MAINFRAME MENUBEGINPOPUP "文件(&F)"BEGINMENUITEM "打开(&O)", ID_OPENMENUITEM "退出(&X)", ID_EXITENDPOPUP "视图(&V)"BEGINPOPUP "工具栏(&T)"BEGINMENUITEM "标准(&S)", ID_VIEW_STANDARD ENDENDEND///////////////////////////////////////////////////////////////////////////// STRINGTABLEBEGINIDS_TIME " "END运行结果:。
实践——为窗口添加菜单条和工具条步骤1:新建工程,以自己的学号命名:如。
在建好的java project里,新建可视化类mainFrame,继承自swing包中的JFrame类,窗口自带内容面板名称为“jContentPane”,将窗口的标题改为“主窗体”,修改窗口的属性,将“visiable”属性改为“true”;步骤2:修改jContentPane,将其“layout”属性改为“null”;步骤3:下面开始制作菜单,打开可视化编辑区域右侧浮动的组件面板“Palette”,添加菜单条,在“swing menus”页中选中JMenuBar,单击拖动到“mainFrame”,将其命名为“jJMenuBar”;注意:也可以在“java beans”页面,选中“this-“主窗体”,再进行拖动。
步骤4:打开可视化编辑区域右侧浮动的组件面板“Palette”,添加菜单,在“swing menus”页中选中JMenu,单击拖动到“jJMenuBar”,将其命名为“jMenu1”;修改“jMenu1”的“text”属性为“文件”。
步骤5:打开可视化编辑区域右侧浮动的组件面板“Palette”,添加菜单项,在“swing menus”页中选中JMenuItem,单击拖动到“jMenu1”,将其命名为“jMenuItem1”;修改“jMenuItem1”的“text”属性为“新建”。
步骤6:重复步骤5的操作,新建菜单项“jMenuItem2”;修改“jMenuItem2”的“text”属性为“保存”。
步骤7:重复步骤5的操作,新建菜单项“jMenuItem3”;修改“jMenuItem3”的“text”属性为“退出”。
步骤8:打开可视化编辑区域右侧浮动的组件面板“Palette”,添加工具栏,在“swing menus”页中选中JToolBar,单击拖动到“jContentPane”,将其命名为“jJToolBarBar”;在可视化编辑区合理调整工具条的大小;步骤9:打开可视化编辑区域右侧浮动的组件面板“Palette”,添加工具栏里面的按钮,在“Swing Components”页中选中JButton,单击拖动到“jJToolBarBar”,将其命名为“jButton1”;修改“jButton1”的“icon”属性,给按钮添加一幅图片;可以从工程目录里添加,也可以从本地硬盘的某个位置添加;步骤10:重复步骤9,再给工具条添加一个按钮;步骤11:给菜单项“退出”添加事件处理代码;在Eclipse工作台的左下角“java bean”页面中选中“退出”菜单项,单击右键,在弹出的快捷菜单中选中“Event”,在弹出的二级菜单中选中“action performed”单击,此时编译环境自动生成了“退出”菜单项的动作事件处理代码框架如下:jMenuItem2.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent e) {System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()}});在方法体里添加如下:System.exit(0);步骤12:重复步骤11,也可以给工具栏中的某个按钮添加事件处理。
WinForm窗体菜单和⼯具栏1.ContextMenuStrip右键菜单控件/窗体属性中的⾏为属性中ContextMenuStrip来进⾏选择使⽤2.MenuStrip可以⾃⼰编辑的的菜单栏每⼀个选项都有⾃⼰的属性属性中外观属性Image设置每个选项前⾯的⼩图标"-"作为分割线,也可以右键选择插⼊,⾥⾯也有分割线右键插⼊标准项,可以插⼊程序⾃带的模板,减少编辑时间选中某个选项,找到属性中的ShortCutKey来实现编辑这个选项的快捷键菜单栏右边还有个⼩箭头.也可选择添加ComBox下拉菜单,和TextBox⽂本框3.StatusStrip底部状态栏StatusLabel可以添加图标,⽂字,和Label⼀样ProgressBar可以添加进度条DropDownButton下拉菜单,点击图⽚也能下拉SplitButton下拉菜单,点击图⽚不能下拉,只能点击箭头下拉4.ToolStrip⼯具栏控件为⾼度可配置的、可扩展的控件,它提供了许多属性、⽅法和事件,可⽤来⾃定义外观和⾏为,可与ToolStripContainer配合使⽤,⽤户可⾃⾏调整位置 Dock 获取或设置 ToolStrip 停靠在⽗容器的哪⼀边缘。
AllowItemReorder 获取或设置⼀个值,让该值指⽰拖放和项重新排序是否专门由 ToolStrip 类进⾏处理。
LayoutStyle 获取或设置⼀个值,让该值指⽰ ToolStrip 如何对其项进⾏布局。
Overflow 获取或设置是将 ToolStripItem 附加到 ToolStrip,附加到 ToolStripOverflowButton,还是让它在这两者之间浮动。
IsDropDown 获取⼀个值,该值指⽰单击 ToolStripItem 时,ToolStripItem 是否显⽰下拉列表中的其他项。
OverflowButton 获取 ToolStripItem,它是启⽤了溢出的 ToolStrip 的“溢出”按钮。
在⽤户窗体上添加菜单技巧1 在⽤户窗体上添加菜单在VBA中,⽤户窗体上是没有菜单的,为了使⽤⽅便,我们可以使⽤API函数在⽤户窗体上添加菜单,⽰例代码如下:#001 Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long #002 Private Declare Function SetMenu Lib "user32" (ByVal hwnd As Long, ByVal hMenu As Long) As Long#003 Private Declare Function CreateMenu Lib "user32" () As Long#004 Private Declare Function AppendMenu Lib "user32" Alias "AppendMenuA" (ByVal hMenu As Long, ByVal wFlags As Long, ByVal wIDNewItem As Long, ByVal lpNewItem As Any) As Long#005 Private Declare Function DestroyMenu Lib "user32" (ByVal hMenu As Long) As Long#006 Private Declare Function CreatePopupMenu Lib "user32" () As Long #007 Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long#008 Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long #009 Private Const GWL_WNDPROC = (-4)#010 Private Const MF_STRING = &H0 Private Const MF_POPUP = &H10 Private Const MF_SEPARATOR = &H800
 Dim MenuWnd As Long, Dump As Long, PopupMenuID As Long, PopupMenuWnd As Long, MenuID As Long#014 Private Sub UserForm_Initialize()#015 If Val(Application.Version) < 9 Then#016 hwnd = FindWindow("ThunderXFrame", Me.Caption)#017 Else#018 hwnd = FindWindow("ThunderDFrame", Me.Caption)#019 End If#020 MenuWnd = CreateMenu()#021 PopupMenuID = CreatePopupMenu()#022 Dump = AppendMenu(MenuWnd, MF_STRING + MF_POPUP, PopupMenuID, "系统设置(&X)")#023 Dump = AppendMenu(PopupMenuID, MF_STRING, 100, "保存(&S)...") #024 Dump = AppendMenu(PopupMenuID, MF_STRING, 101, "备份(&E)")#025 Dump = AppendMenu(PopupMenuID, MF_STRING, 102, "退出(&X)")#026 PopupMenuID = CreatePopupMenu()#027 Dump = AppendMenu(MenuWnd, MF_STRING + MF_POPUP, PopupMenuID, "会计凭证(&P)")#028 Dump = AppendMenu(PopupMenuID, MF_STRING, 110, "录⼊(&L)")#029 Dump = AppendMenu(PopupMenuID, MF_STRING, 111, "审核(&C)")#030 PopupMenuID = CreatePopupMenu()#031 Dump = AppendMenu(MenuWnd, MF_STRING + MF_POPUP, PopupMenuID, "会计账簿(&Z)")#032 Dump = AppendMenu(PopupMenuID, MF_STRING, 112, "记账(&T)")#033 Dump = AppendMenu(PopupMenuID, MF_STRING, 113, "结账(&J)")#034 PopupMenuID = CreatePopupMenu()#035 Dump = AppendMenu(MenuWnd, MF_STRING + MF_POPUP, PopupMenuID, "会计报表(&B)")#036 Dump = AppendMenu(PopupMenuID, MF_STRING, 114, "资产负债表(&F)") #037 Dump =AppendMenu(PopupMenuID, MF_STRING, 115, "损益表(&Y)")#038 Dump = SetMenu(hwnd, MenuWnd)#039 PreWinProc = GetWindowLong(hwnd, GWL_WNDPROC)#040 SetWindowLong hwnd, GWL_WNDPROC, AddressOf MsgProcess#041 End Sub#042 Private Sub UserForm_Terminate()#043 DestroyMenu MenuWnd#044 DestroyMenu PopupMenuID#045 DestroyMenu PopupMenuWnd#046 SetWindowLong hwnd, GWL_WNDPROC, PreWinProc#047 End Sub代码解析:第1⾏到第13⾏代码,API函数声明。
1. Visual Basic 程序设计语言属于【C】。
A.面向过程的语言B.面向问题的语言C.面向对象的语言D.面向机器的语言4.计算机能够直接执行的程序是【B 】。
A.源程序B.机器语言C.高级语言程序D.汇编语言程序5.在面向对象的程序设计中,【 A 】是程序设计的基本单位。
6.A.对象B.类C.属性D.方法7. 下面符合Visual Basic 的特点是【C 】。
A.简单的程序设计方法B.面向程序设计思想C.事件驱动的编程机制D.非结构化程序设计语言第2 章Visua1 Basic 程序设计概述一、选择题4.新建一工程,将其窗体的(名称)属性设置为MyFirst,则默认的窗体文件名为【C 】。
A.Forml.frmB.工程1.frmC.MyFirst.frmD.Forml.vbp10.在Visual Basic 集成开发环境中,如果工具箱不可见,应在【B 】菜单中操作而使它可见。
A.窗口B.视图C.编辑D.文件11.在设计阶段,当双击窗体上的某个控件时,所打开的窗口是【C 】。
A.工程资源管理器窗口B.工具箱窗口C.代码窗口D.属性窗口17.要在窗体上显示图片,需设置窗体的【C 】属性。
A.CaptionB.IconC.PictureD.ControlBox19.将窗体的【A 】属性设置为False 后,运行时窗体上的按扭、文本框等控件就不会对用户的操作做出响应。
A.EnabledB.VisibleC.ControlBoxD.WindowState21.在设计阶段,双击窗体Forml 的空白处,打开代码窗口,显示【D 】事件过程模板。
A.Form_ClickB.Form_LoadC.Form1_ClickD.Form1_Load22.在运行时,系统自动执行启动窗体的【C 】事件过程。
A.ClickB.GotFocusC.LoadD.UnLoad27.如果设计时在属性窗口将命令按钮的【A】属性设置为False,则运行时按钮从窗体上消失。
窗体工具栏与控件工具栏基础工作表菜单“视图——工具栏”或在菜单栏点击右键,在下拉菜单中有两个内容比较相似工具栏,即“窗体”工具栏和“控件工具箱”工具栏,如以下图所示。
其中,“窗体”工具栏有16个命令按钮,依次为:标签、编辑框,分组框、按钮、复选框、选项按钮,列表框、组合框,组合式列表编辑框、组合式下拉编辑框,转动条、微调项,控件属性、编辑代码,切换网格、执行对话框。
“控件工具箱”是提供ActiveX控件的工具栏,有15个命令按钮,依次为:设计模式、属性、查看代码,复选框、文本框、命令按钮、选项按钮、列表框、组合框、切换按钮、数值调剂钮、转动条、标签、图像,其他控件。
其中某些控件看上去与“窗体”工具栏中的控件相同,功能也相似,还有一些控件(例如,切换按钮和图像控件)在“窗体”工具栏上不可用。
“控件工具箱”还包括通过其他程序安装的自概念ActiveX控件,例如:通过Microsoft Internet Explorer安装的Active Movie控件。
一、一些概念控件是放置于窗体上的一些图形对象,可用来显示或输入数据、执行操作或使窗体更易于阅读。
这些对象包括文本框、列表框、选项按钮、命令按钮及其他一些对象。
控件提供给用户一些可供选择的选项,或是某些按钮,单击后可运行宏程序。
Microsoft Excel 有两种类型的控件。
ActiveX 控件即控件工具箱控件适用于大多数情形,与Microsoft Visual Basic for Applications (VBA) 宏和 Web 脚本一路工作。
“窗体”工具栏上的控件与 Excel 以后的 Excel 初期版本都是兼容的,而且能在 XLM 宏工作表中利用。
ActiveX控件一样为完全可编程的对象,开发者能够利用它们在原应用程序基础上创建自概念的应用程序。
二、Excel中的两类控件◆窗体工具条中的控件这种控件在Excel工作表中是可用的,它们不是ActiveX控件,与控件工具箱中的控件不一样,而且不如ActiveX控件灵活。
技巧1 在用户窗体上添加工具栏
在错误!未找到引用源。
中我们在用户窗体上使用API函数添加了菜单,还可以在用
户窗体上继续添加工具栏用以显示一列下拉菜单的位图按钮,单击一个工具栏按钮等于选择
一个菜单命令,以提供对常用功能和命令的快速访问。
在用户窗体上添加工具栏可以使用Toolbar控件,在设计模式下右键单击“工具箱”,在显示的右键菜单中选择“附加控件”,在显示的对话框中选择“Microsoft Toolbar Control,veision 6.0”控件,在用户窗体上添加一个Toolbar控件。
如图1-1所示。
图1-1 选择Toolbar控件
因为需要在Toolbar控件按钮中使用图标,所以还需要在用户窗体中添加一个ImageList 控件保存所需要的图像文件,在ImageList控件的属性页中插入6张图片,如图1-2所示。
向任务栏添加工具栏的常用操作方法
嘿,朋友们!咱今天就来讲讲怎么给任务栏添加工具栏,这可是个很实用的小技巧哦!
你想想看,就好像给你的电脑桌面来了个小装修,让它变得更顺手、更方便。
比如说,你经常要用一些特定的程序或者功能,每次都要去到处找,多麻烦呀!但如果把它们放到任务栏的工具栏里,那就像把常用的东西都放在手边一样,一伸手就能拿到。
其实操作起来也不难。
就好比你要整理一个小抽屉,先找到那个放东西的地方嘛。
在电脑上呢,你就在任务栏上右键单击,嘿,这就找到入口啦!然后呢,就会弹出一个菜单,这里面就有添加工具栏的选项哦。
这时候你可能会问啦,那添加啥工具栏呢?这就看你自己的需求啦!如果你经常处理图片,那就把图片工具的工具栏加上;要是你是个文档达人,那文档相关的工具栏就很合适呀。
就像你喜欢吃苹果,那就把苹果放在最容易拿到的地方;喜欢吃香蕉,就把香蕉也放那。
电脑也是一样,把你常用的工具都放进去,让它们随时准备为你服务。
而且哦,添加了工具栏之后,你会发现工作效率都提高了不少呢!不用再在一堆程序里翻来翻去,直接在任务栏上点一点就好啦。
这多方便呀,是不是?就好像你有了一个专属的小助手,随时听候你的差遣。
你再想想,要是没有这个工具栏,每次都要费好大劲去找那些常用的东西,多浪费时间呀!现在有了这个小技巧,就能让你的电脑使用体验变得更愉快、更高效。
所以呀,赶紧去试试吧,给你的任务栏也来个小改造,让它变得更贴心、更实用。
别再犹豫啦,相信你试过之后就会感叹:哎呀,怎么早没发现这么好用的办法呢!
原创不易,请尊重原创,谢谢!。