ribbon开发Word下载.docx

上传人:b****6 文档编号:20367302 上传时间:2023-01-22 格式:DOCX 页数:20 大小:909.83KB
下载 相关 举报
ribbon开发Word下载.docx_第1页
第1页 / 共20页
ribbon开发Word下载.docx_第2页
第2页 / 共20页
ribbon开发Word下载.docx_第3页
第3页 / 共20页
ribbon开发Word下载.docx_第4页
第4页 / 共20页
ribbon开发Word下载.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

ribbon开发Word下载.docx

《ribbon开发Word下载.docx》由会员分享,可在线阅读,更多相关《ribbon开发Word下载.docx(20页珍藏版)》请在冰豆网上搜索。

ribbon开发Word下载.docx

在Templates窗格中,选择MFCApplication。

键入项目名称,如RibbonApp,然后单击OK。

请参阅图1-1。

将显示MFApplicationWizard。

图1-1

3.在ApplicationType窗格中,将ProjectStyle更改为Office,然后将VisualStyleandColors更改为“Windows7”。

其他保持不变,然后单击Next。

请参考图1-2。

图1-2

4.将CompoundDocumentSupport设置保留为默认值(即选中“None”复选框)。

请参考图1-3。

图1-3

5.在DocumentTemplateStrings窗格中,保留所有默认值。

请参考图1-4。

图1-4

6.在DatabaseSupport窗格中,保留所有默认设置,(应选中“None”)。

单击“下一步”。

请参考图1-5。

图1-5

7.在UserInterfaceFeatures窗格中,确保选中UseaRibbon选项。

请参考图1-6。

图1-6

8.在AdvancedFeatures窗格中,清除所有选项。

请参考图1-7。

图1-7

9.在GeneratedClasses窗格中,保留所有默认设置。

请参考图1-8。

图1-8

10.要生成应用程序,请在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-1

3.将一个Category控件从工具箱拖入到RibbonBar。

在设计器中,会看到一个名为“Category1”的类别,并在Category1中有一个名为“Panel1”的面板。

从工具箱中将两个Button控件拖放到“Panel1”。

默认情况下,按钮名称为“Button1”和“Button2”。

功能区栏具有了一个新的外观,如图2-2所示。

图2-2

4.右键单击“Category1”,并选择Properties,打开Properties窗口。

如图2-3所示,在Property窗口中,可以轻松地将标题重命名为“MyCategory”,并编辑其他属性。

在Property窗口中,从“LargeImages”下拉列表中选择“IDB_WRITELARGE”,并从“SmallImages”下拉列表中选择“IDB_WRITESMALL”。

它定义了在这个类别中的元素的图像集合。

图2-3

5.打开刚才创建的按钮的Properties窗口,并更改标题为“MyButton”和“MyChoice”。

要为按钮添加图像,请打开“MyChoice”的属性窗口,然后单击“LargeImageIndex”(当选择值字段时,会看到Browse按钮,允许浏览图像集合)。

单击Browse按钮,将会弹出ImageCollection对话框。

选择“0”并编辑其他属性,如图2-4所示。

将LargeImageIndex的值更改为“0”以便为“MyButton”添加图像。

图2-4

6.测试功能区,方法是单击工具栏上的“TestRibbon”按钮,如图2-5所示。

图2-5

7.编译并运行应用程序。

现在,它具有如图2-6所示的新外观。

创建的两个按钮(“MyChoice”和“MyButton”)是默认禁用的。

按钮将在为它们添加了单击事件处理程序���启用。

图2-6

任务2-向控件添加事件处理程序

1.在RibbonDesigner中添加事件处理程序非常简单。

右键单击“MyButton”按钮控件,并选择“AddEventHandler”。

将打开EventHandlerWizard。

选择“Command”消息类型并从类列表中选择“CMainFrame”,如图2-7所示。

图2-7

2.单击“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-1

5.单击“MyCategory”选项卡,将看到功能区的变化,如图3-2所示。

图3-2

帮助:

为了方便,一些变量和函数(如事件处理程序函数和帮助程序函数)已经在此项目中声明和定义,所以在以下任务中只需集中进行实现。

任务2-在运行时禁用和启用按钮

1.可以添加代码来手动禁用或启用一个按钮。

如图3-2所示,MyCategory的Disable面板包括一个复选框和一个按钮。

可以通过选中或清除该复选框来触发事件。

选择复选框将禁用Object按钮。

这些变量已经声明,一些必要的函数也已经就绪。

2.要在MainFrm.cpp中更新CheckBox控件的事件处理程序函数,请输入以下代码:

voidCMainFrame:

OnDisableCheckbox()

{

m_bChecked=!

m_bChecked;

}

OnUpdateDisableCheckbox(CCmdUI*pCmdUI)

pCmdUI->

SetCheck(!

m_bChecked);

3.还必须更新MainFrm.cpp中的按钮对象的事件处理程序函数,如下所示:

OnUpdateDisableObject(CCmdUI*pCmdUI)

Enable(m_bChecked);

4.编译并运行应用程序。

如果选择“DisableObjectButton”复选框,则“Object”按钮将被禁用,如图3-3所示。

图3-3

任务3-显示当前选定的组合框项目。

1.更新MainFrm.cpp中的函数,以便在从组合框中的下拉列表中选择项目时显示一个消息框:

OnComboMessage()

CMFCRibbonComboBox*pFontComboBox=DYNAMIC_DOWNCAST(

CMFCRibbonComboBox,m_wndRibbonBar.FindByID(ID_COMBO_BOX));

//Gettheselectedindex

intnCurSel=pFontComboBox->

GetCurSel();

if(nCurSel>

=0)

{

CStringitem=pFontComboBox->

GetItem(nCurSel);

CStringsMessage=_T("

);

sMessage.Format(_T("

CurrentSelectedItemis\"

%s\"

."

),item);

MessageBox(sMessage,_T("

ComboBoxItem"

}

else

MessageBox(_T("

PleaseselectoneitemfromdroplistofComboBox."

),_T("

2.编译并运行应用程序。

3.从组合框中选择一个项目,然后单击“MessageBox”按钮。

将显示一个消息框,如下图3-4所示。

图3-4

任务4-在按钮按下时绘制一个矩形视图

1.Home类别上的Rectangle面板包含一个Draw按钮(如图3-1)。

在RibbonAppDoc.app中更新以下函数,如下所示,以便单击Draw按钮时将绘制矩形。

CRibbonAppDoc:

CRibbonAppDoc()

//TODO:

addone-timeconstructioncodehere

m_bDraw=FALSE;

boolCRibbonAppDoc:

EnableDraw(void)

returnm_bDraw;

voidCRibbonAppDoc:

OnRectDraw()

m_bDraw=TRUE;

UpdateAllViews(NULL);

2.将以下行添加到RibbonAppView.cppvoidCRibbonAppView:

OnDraw(CDC*pDC)函数的注释“//TODO:

adddrawcodefornativedatahere”后,如下所示:

//Drawarectangle

CRectclient;

CBrushbrush;

GetWindowRect(&

client);

if(pDoc->

EnableDraw()&

&

brush.CreateSolidBrush(RGB(255,0,222)))

intwidth=client.Width()/2;

//tomakeitsmaller

intheight=client.Height()/2;

CRectrect=CRect(0,0,width,height);

pDC->

FillRect(rect,&

brush);

3.编译并运行解决方案。

单击Draw按钮查看应用程序,如图3-5所示。

图3-5

任务5-更改矩形的颜色

1.Font面板中的Color组合框控制矩形的颜色。

要启用Color控件,请实现CRibbonAppDoc.cpp中名为CRibbonAppDoc:

GetColor(void)的函数,如下所示:

COLORREFCRibbonAppDoc:

GetColor(void)

CMFCRibbonBar*pRibbon=((CMDIFrameWndEx*)AfxGetMainWnd())->

GetRibbonBar();

ASSERT_VALID(pRibbon);

CMFCRibbonColorButton*pColor=DYNAMIC_DOWNCAST(

CMFCRibbonColorButton,pRibbon->

FindByID(ID_FONT_COLOR));

//Gettheselectedcolor

returnpColor->

GetColor();

2.更新CRibbonAppDoc.cpp中的事件处理程序函数CRibbonAppDoc:

OnFontColor()。

OnFontColor()

3.更新voidCRibbonAppView:

OnDraw(CDC*pDC)函数,将行“brush.CreateSolidBrush(RGB(255,0,222))”更改为以下内容:

brush.CreateSolidBrush(pDoc->

GetColor())

5.单击Draw按钮,并从Color组合框中选择Yellow,查看新的用户界面,如图3-6所示。

图3-6

任务6-移动滑块以放大矩形

1.更新CRibbonAppDoc.cpp中的帮助程序函数doubleCRibbonAppDoc:

GetSliderFactor(void),如下所示:

//Returnthefactorofzoomingtherectangle

doubleCRibbonAppDoc:

GetSliderFactor(void)

//Getapointertotheribbonbar

CMFCRibbonSlider*pSlider=DYNAMIC_DOWNCAST(

CMFCRibbonSlider,pRibbon->

FindByID(ID_RECT_SLIDER));

//Getcurrentposition

intposition=pSlider->

GetPos();

return(double)position/(double)pSlider->

GetRangeMax();

2.UpdatetheeventhandlerfunctionoftheSliderasfollows:

OnRectSlider()

if(GetAsyncKeyState(VK_LBUTTON)==0)

OnDraw(CDC*pDC)函数以启用滑块功能。

brush.CreateSolidBrush(pDoc->

GetColor()))

doublefactor=pDoc->

GetSliderFactor();

if(factor)

width=width*factor;

height=height*factor;

5.单击Draw按钮,然后移动滑块。

当滑块移动时,矩形将使用一个缩放系数重新调整大小,如图3-7所示。

图3-7

此练习结束时,使用EX03_Starter\Begin\RibbonApp\RibbonApp.sln生成的应用程序应该与使用EX03_Starter\End\RibbonApp\RibbonApp.sln生成的应用程序一样。

总结

我们已经成功完成了MFC功能区的介绍教程。

我们了解��新的MFC功能区框架如何帮助您快速、轻松地使用MFC向导和RibbonDesigner创建功能区应用程序。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1