您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > Visual-Studio-2010-Ribbon-Designer入门
本教程适用于正在开发桌面应用程序并希望利用新的MFC功能区框架优势的MFC开发人员。通过本教程的步骤,您将了解如何将默认的功能区添加到一个小应用程序中,在RibbonDesigner中编辑各个功能区控件,然后在运行时使用控件。您将看到通过MFC功能区框架编辑和使用功能区控件非常轻松。在本教程中,将完成在应用程序中添加和自定义基本功能区的所有必要步骤。本教程涉及实时编译代码并从此文档中复制代码。如果发生复制错误(或任何其他问题)无法编译应用程序,可以在本教程的程序包中找到全部完成的示例,以及每个练习的最终源代码。这些示例可用于解决编译错误。先决条件您必须拥有以下内容才能完成本实验:•MicrosoftVisualStudio2010Beta2(或更高版本)•Windows7学习目标在完成本教程时,您将了解如何:•在VisualStudio2010中为应用程序创建默认的功能区•在RibbonDesigner中添加功能区控件,如按钮、复选框和区块•在RibbonDesigner中为功能区控件添加事件处理程序函数•在运行时使用功能区控件练习1:在应用程序中创建默认功能区在本练习中,将开始在VisualStudio2010中从头创建一个Windows7风格的带有功能区的MFC应用程序。您不必编写任何代码来执行这些操作。只需单击,单击,再单击!任务1-在VisualStudio2010中创建新的带有功能区的MFC项目1.在VisualStudio2010中,使用MFCApplicationWizard创建一个具有默认功能区的MFC应用程序。要运行向导,请在File菜单上,指向New,然后选择Project。将会显示NewProject对话框。2.在NewProject对话框中,展开ProjectTypes窗格中的VisualC++节点,然后选择MFC。在Templates窗格中,选择MFCApplication。键入项目名称,如RibbonApp,然后单击OK。请参阅图1-1。将显示MFApplicationWizard。图1-13.在ApplicationType窗格中,将ProjectStyle更改为Office,然后将VisualStyleandColors更改为“Windows7”。其他保持不变,然后单击Next。请参考图1-2。图1-24.将CompoundDocumentSupport设置保留为默认值(即选中“None”复选框)。请参考图1-3。图1-35.在DocumentTemplateStrings窗格中,保留所有默认值。请参考图1-4。图1-46.在DatabaseSupport窗格中,保留所有默认设置,(应选中“None”)。单击“下一步”。请参考图1-5。图1-57.在UserInterfaceFeatures窗格中,确保选中UseaRibbon选项。单击“下一步”。请参考图1-6。图1-68.在AdvancedFeatures窗格中,清除所有选项。单击“下一步”。请参考图1-7。图1-79.在GeneratedClasses窗格中,保留所有默认设置。请参考图1-8。图1-810.要生成应用程序,请在Build菜单上选择BuildSolution。如果应用程序成功生成,请从Debug菜单中运行StartDebugging。向导将自动创建具有一个功能区类别名称为Home的Windows7风格的功能区。此类别包含3个功能区面板,命名为Clipboard、View和Window。请参考图1-9。图1-9练习2:向现有功能区添加简单的控件VisualStudio2010有一项新功能,称为MFC应用程序的RibbonDesigner,它可以方便地将任何功能区控件添加到应用程序中并进行编辑。在本练习中,将学习如何将控件拖到RibbonDesigner中,以及如何轻松添加事件处理程序。在本练习中,您将使用EX02_Starter\Begin\RibbonApp文件夹中的RibbonApp解决方案。任务1-向现有功能区添加简单控件1.在VisualStudio2010中启动RibbonApp.sln。2.在Resource视图中,展开RibbonApp.rc-Ribbon-IDR_RIBBON节点。双击该文件以打开RibbonDesigner。ResourceView面板、RibbonBarDesigner面板和Toolbox面板如图2-1所示。图2-13.将一个Category控件从工具箱拖入到RibbonBar。在设计器中,会看到一个名为“Category1”的类别,并在Category1中有一个名为“Panel1”的面板。从工具箱中将两个Button控件拖放到“Panel1”。默认情况下,按钮名称为“Button1”和“Button2”。功能区栏具有了一个新的外观,如图2-2所示。图2-24.右键单击“Category1”,并选择Properties,打开Properties窗口。如图2-3所示,在Property窗口中,可以轻松地将标题重命名为“MyCategory”,并编辑其他属性。在Property窗口中,从“LargeImages”下拉列表中选择“IDB_WRITELARGE”,并从“SmallImages”下拉列表中选择“IDB_WRITESMALL”。它定义了在这个类别中的元素的图像集合。图2-35.打开刚才创建的按钮的Properties窗口,并更改标题为“MyButton”和“MyChoice”。要为按钮添加图像,请打开“MyChoice”的属性窗口,然后单击“LargeImageIndex”(当选择值字段时,会看到Browse按钮,允许浏览图像集合)。单击Browse按钮,将会弹出ImageCollection对话框。选择“0”并编辑其他属性,如图2-4所示。将LargeImageIndex的值更改为“0”以便为“MyButton”添加图像。图2-46.测试功能区,方法是单击工具栏上的“TestRibbon”按钮,如图2-5所示。图2-57.编译并运行应用程序。现在,它具有如图2-6所示的新外观。创建的两个按钮(“MyChoice”和“MyButton”)是默认禁用的。按钮将在为它们添加了单击事件处理程序���启用。图2-6任务2-向控件添加事件处理程序1.在RibbonDesigner中添加事件处理程序非常简单。右键单击“MyButton”按钮控件,并选择“AddEventHandler”。将打开EventHandlerWizard。选择“Command”消息类型并从类列表中选择“CMainFrame”,如图2-7所示。图2-72.单击“AddandEdit”。向导将自动生成的一些函数,然后打开源代码编辑器。在这里,将看到MainFrm.cpp中的空函数CMainFrame::OnMyButton()。3.在Mainfrm.cpp中的函数OnMyButton()中添加下面的代码行。C++MessageBox(TEXT(ThisisMyButton!),TEXT(MyButton),MB_OK);4.编译并运行解决方案。应用程序将具有包含一个类别和两个按钮的功能区。点击“MyButton”按钮,测试应用程序,如图2-8所示。图2-8练习3:向现有功能区添加和使用更多控件练习1展示了如何使用MFC向导创建带有默认功能区的应用程序。练习2展示了如何使用RibbonDesigner轻松添加或修改功能区控件。这次演示将展示有关功能区控件的更多信息,并集中讨论如何在运行时使用按钮、复选框、滑块和组合框MFC功能区控件。任务1-生成现有功能区应用程序以查看功能区控件1.打开EX03_Starter\Begin\RibbonApp文件夹中的RibbonApp解决方案2.在Build菜单上,单击RebuildSolution。3.在Debug菜单上,单击StartDebugging。4.将打开如图3-1所示的应用程序。这里显示的所有功能区控件均使用RibbonDesigner创建。(练习2展示了如何使用RibbonDesigner。)图3-15.单击“MyCategory”选项卡,将看到功能区的变化,如图3-2所示。图3-2帮助:为了方便,一些变量和函数(如事件处理程序函数和帮助程序函数)已经在此项目中声明和定义,所以在以下任务中只需集中进行实现。任务2-在运行时禁用和启用按钮1.可以添加代码来手动禁用或启用一个按钮。如图3-2所示,MyCategory的Disable面板包括一个复选框和一个按钮。可以通过选中或清除该复选框来触发事件。选择复选框将禁用Object按钮。这些变量已经声明,一些必要的函数也已经就绪。2.要在MainFrm.cpp中更新CheckBox控件的事件处理程序函数,请输入以下代码:C++voidCMainFrame::OnDisableCheckbox(){m_bChecked=!m_bChecked;}voidCMainFrame::OnUpdateDisableCheckbox(CCmdUI*pCmdUI){pCmdUI-SetCheck(!m_bChecked);}3.还必须更新MainFrm.cpp中的按钮对象的事件处理程序函数,如下所示:C++voidCMainFrame::OnUpdateDisableObject(CCmdUI*pCmdUI){pCmdUI-Enable(m_bChecked);}4.编译并运行应用程序。如果选择“DisableObjectButton”复选框,则“Object”按钮将被禁用,如图3-3所示。图3-3任务3-显示当前选定的组合框项目。1.更新MainFrm.cpp中的函数,以便在从组合框中的下拉列表中选择项目时显示一个消息框:C++voidCMainFrame::OnComboMessage(){CMFCRibbonComboBox*pFontComboBox=DYNAMIC_DOWNCAST(CMFCRibbonComboBox,m_wndRibbonBar.FindByID(ID_COMBO_BOX));//GettheselectedindexintnCurSel=pFontComboBox-GetCurSel();if(nCurSel=0){CStringitem=pFontComboBox-GetItem(nCurSel);CStringsMessage=_T();sMessage.Format(_T(CurrentSelectedItemis\%s\.),item);MessageBox(sMessage,_T(ComboBoxItem),MB_OK);}else{MessageBox(_T(PleaseselectoneitemfromdroplistofComboBox.),_T(ComboBoxItem),MB_OK);}}2.编译并运行应用程序。3.从组合框中选择一个项目,然后单击“MessageBox”按钮。将显示一个消息框,如下图3-4所示。图3-4任务4-在按钮按下时绘制一个矩形视图1.Home类别上的Rectangle面板包含一个Draw按钮(如图3-1)。在RibbonAppDoc.app中更新以下函数,如下所示,以便单击Draw按钮时将绘制矩形。C++CRibbonAppDoc::CRibbonAppDoc(){//TODO:addone-timeconstructioncodeherem_bDraw=FALSE;}boolCRibbonAppDoc::EnableDraw(void){returnm_bDraw;}voidCRibbonAppDoc::OnRectDraw(){m_bDraw=TRUE;UpdateAllViews(NULL);}2.将以下行添加到RibbonAppView.cppvoidCRibbonAppView::OnDraw(CDC*pDC)函数的注释“//TODO:
本文标题:Visual-Studio-2010-Ribbon-Designer入门
链接地址:https://www.777doc.com/doc-6238730 .html