橡皮筋技术实验报告文档格式.docx
- 文档编号:7307628
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:35
- 大小:81.46KB
橡皮筋技术实验报告文档格式.docx
《橡皮筋技术实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《橡皮筋技术实验报告文档格式.docx(35页珍藏版)》请在冰点文库上搜索。
#definenewDEBUG_NEW
#endif
//CMainFrame
IMPLEMENT_DYNCREATE(CMainFrame,CFrameWndEx)
constintiMaxUserToolbars=10;
constUINTuiFirstUserToolBarId=AFX_IDW_CONTROLBAR_FIRST+40;
constUINTuiLastUserToolBarId=uiFirstUserToolBarId+iMaxUserToolbars-1;
BEGIN_MESSAGE_MAP(CMainFrame,CFrameWndEx)
ON_WM_CREATE()
ON_COMMAND(ID_VIEW_CUSTOMIZE,&
CMainFrame:
:
OnViewCustomize)
ON_REGISTERED_MESSAGE(AFX_WM_CREATETOOLBAR,&
OnToolbarCreateNew)
END_MESSAGE_MAP()
staticUINTindicators[]=
{
ID_SEPARATOR,//状态行指示器
ID_INDICATOR_CAPS,
ID_INDICATOR_NUM,
ID_INDICATOR_SCRL,
};
//CMainFrame构造/析构
CMainFrame()
//TODO:
在此添加成员初始化代码
}
~CMainFrame()
intCMainFrame:
OnCreate(LPCREATESTRUCTlpCreateStruct)
if(CFrameWndEx:
OnCreate(lpCreateStruct)==-1)
return-1;
BOOLbNameValid;
//设置用于绘制所有用户界面元素的视觉管理器
CMFCVisualManager:
SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerVS2008));
if(!
m_wndMenuBar.Create(this))
{
TRACE0("
未能创建菜单栏\n"
);
//未能创建
}
m_wndMenuBar.SetPaneStyle(m_wndMenuBar.GetPaneStyle()|CBRS_SIZE_DYNAMIC|CBRS_TOOLTIPS|CBRS_FLYBY);
//防止菜单栏在激活时获得焦点
CMFCPopupMenu:
SetForceMenuFocus(FALSE);
m_wndToolBar.CreateEx(this,TBSTYLE_FLAT,WS_CHILD|WS_VISIBLE|CBRS_TOP|CBRS_GRIPPER|CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_SIZE_DYNAMIC)||
!
m_wndToolBar.LoadToolBar(theApp.m_bHiColorIcons?
IDR_MAINFRAME_256:
IDR_MAINFRAME))
未能创建工具栏\n"
CStringstrToolBarName;
bNameValid=strToolBarName.LoadString(IDS_TOOLBAR_STANDARD);
ASSERT(bNameValid);
m_wndToolBar.SetWindowText(strToolBarName);
CStringstrCustomize;
bNameValid=strCustomize.LoadString(IDS_TOOLBAR_CUSTOMIZE);
m_wndToolBar.EnableCustomizeButton(TRUE,ID_VIEW_CUSTOMIZE,strCustomize);
//允许用户定义的工具栏操作:
InitUserToolbars(NULL,uiFirstUserToolBarId,uiLastUserToolBarId);
m_wndStatusBar.Create(this))
未能创建状态栏\n"
m_wndStatusBar.SetIndicators(indicators,sizeof(indicators)/sizeof(UINT));
如果您不希望工具栏和菜单栏可停靠,请删除这五行
m_wndMenuBar.EnableDocking(CBRS_ALIGN_ANY);
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockPane(&
m_wndMenuBar);
m_wndToolBar);
//启用VisualStudio2005样式停靠窗口行为
CDockingManager:
SetDockingMode(DT_SMART);
//启用VisualStudio2005样式停靠窗口自动隐藏行为
EnableAutoHidePanes(CBRS_ALIGN_ANY);
//启用工具栏和停靠窗口菜单替换
EnablePaneMenu(TRUE,ID_VIEW_CUSTOMIZE,strCustomize,ID_VIEW_TOOLBAR);
//启用快速(按住Alt拖动)工具栏自定义
CMFCToolBar:
EnableQuickCustomization();
if(CMFCToolBar:
GetUserImages()==NULL)
//加载用户定义的工具栏图像
if(m_UserImages.Load(_T("
.\\UserImages.bmp"
)))
{
CMFCToolBar:
SetUserImages(&
m_UserImages);
}
//启用菜单个性化(最近使用的命令)
定义您自己的基本命令,确保每个下拉菜单至少有一个基本命令。
CList<
UINT,UINT>
lstBasicCommands;
lstBasicCommands.AddTail(ID_FILE_NEW);
lstBasicCommands.AddTail(ID_FILE_OPEN);
lstBasicCommands.AddTail(ID_FILE_SAVE);
lstBasicCommands.AddTail(ID_FILE_PRINT);
lstBasicCommands.AddTail(ID_APP_EXIT);
lstBasicCommands.AddTail(ID_EDIT_CUT);
lstBasicCommands.AddTail(ID_EDIT_PASTE);
lstBasicCommands.AddTail(ID_EDIT_UNDO);
lstBasicCommands.AddTail(ID_APP_ABOUT);
lstBasicCommands.AddTail(ID_VIEW_STATUS_BAR);
lstBasicCommands.AddTail(ID_VIEW_TOOLBAR);
SetBasicCommands(lstBasicCommands);
return0;
BOOLCMainFrame:
PreCreateWindow(CREATESTRUCT&
cs)
if(!
CFrameWndEx:
PreCreateWindow(cs))
returnFALSE;
在此处通过修改
//CREATESTRUCTcs来修改窗口类或样式
returnTRUE;
//CMainFrame诊断
voidCMainFrame:
AssertValid()const
CFrameWndEx:
AssertValid();
Dump(CDumpContext&
dc)const
Dump(dc);
#endif//_DEBUG
//CMainFrame消息处理程序
OnViewCustomize()
CMFCToolBarsCustomizeDialog*pDlgCust=newCMFCToolBarsCustomizeDialog(this,TRUE/*扫描菜单*/);
pDlgCust->
EnableUserDefinedToolbars();
Create();
LRESULTCMainFrame:
OnToolbarCreateNew(WPARAMwp,LPARAMlp)
LRESULTlres=CFrameWndEx:
OnToolbarCreateNew(wp,lp);
if(lres==0)
return0;
CMFCToolBar*pUserToolbar=(CMFCToolBar*)lres;
ASSERT_VALID(pUserToolbar);
pUserToolbar->
EnableCustomizeButton(TRUE,ID_VIEW_CUSTOMIZE,strCustomize);
returnlres;
LoadFrame(UINTnIDResource,DWORDdwDefaultStyle,CWnd*pParentWnd,CCreateContext*pContext)
//基类将执行真正的工作
LoadFrame(nIDResource,dwDefaultStyle,pParentWnd,pContext))
//为所有用户工具栏启用自定义按钮
for(inti=0;
i<
iMaxUserToolbars;
i++)
CMFCToolBar*pUserToolbar=GetUserToolBarByIndex(i);
if(pUserToolbar!
=NULL)
pUserToolbar->
MainFrm.h
//MainFrm.h:
CMainFrame类的接口
//#include<
Windows.h>
//SetConsoleTitle(L"
新名字"
#pragmaonce
classCMainFrame:
publicCFrameWndEx
protected:
//仅从序列化创建
CMainFrame();
DECLARE_DYNCREATE(CMainFrame)
//特性
public:
//操作
//重写
virtualBOOLPreCreateWindow(CREATESTRUCT&
cs);
virtualBOOLLoadFrame(UINTnIDResource,DWORDdwDefaultStyle=WS_OVERLAPPEDWINDOW|FWS_ADDTOTITLE,CWnd*pParentWnd=NULL,CCreateContext*pContext=NULL);
//实现
virtual~CMainFrame();
virtualvoidAssertValid()const;
virtualvoidDump(CDumpContext&
dc)const;
//控件条嵌入成员
CMFCMenuBarm_wndMenuBar;
CMFCToolBarm_wndToolBar;
CMFCStatusBarm_wndStatusBar;
CMFCToolBarImagesm_UserImages;
//生成的消息映射函数
afx_msgintOnCreate(LPCREATESTRUCTlpCreateStruct);
afx_msgvoidOnViewCustomize();
afx_msgLRESULTOnToolbarCreateNew(WPARAMwp,LPARAMlp);
DECLARE_MESSAGE_MAP()
tly.cpp
//tly.cpp:
定义应用程序的类行为。
//
afxwinappex.h"
afxdialogex.h"
tlyDoc.h"
tlyView.h"
//CtlyApp
BEGIN_MESSAGE_MAP(CtlyApp,CWinAppEx)
ON_COMMAND(ID_APP_ABOUT,&
CtlyApp:
OnAppAbout)
//基于文件的标准文档命令
ON_COMMAND(ID_FILE_NEW,&
CWinAppEx:
OnFileNew)
ON_COMMAND(ID_FILE_OPEN,&
OnFileOpen)
//标准打印设置命令
ON_COMMAND(ID_FILE_PRINT_SETUP,&
OnFilePrintSetup)
//CtlyApp构造
CtlyApp()
m_bHiColorIcons=TRUE;
//支持重新启动管理器
m_dwRestartManagerSupportFlags=AFX_RESTART_MANAGER_SUPPORT_ALL_ASPECTS;
#ifdef_MANAGED
//如果应用程序是利用公共语言运行时支持(/clr)构建的,则:
//1)必须有此附加设置,“重新启动管理器”支持才能正常工作。
//2)在您的项目中,您必须按照生成顺序向System.Windows.Forms添加引用。
System:
Windows:
Forms:
Application:
SetUnhandledExceptionMode(System:
UnhandledExceptionMode:
ThrowException);
将以下应用程序ID字符串替换为唯一的ID字符串;
建议的字符串格式
//为CompanyName.ProductName.SubProduct.VersionInformation
SetAppID(_T("
tly.AppID.NoVersion"
));
在此处添加构造代码,
//将所有重要的初始化放置在InitInstance中
//唯一的一个CtlyApp对象
CtlyApptheApp;
//CtlyApp初始化
BOOLCtlyApp:
InitInstance()
//如果一个运行在WindowsXP上的应用程序清单指定要
//使用ComCtl32.dll版本6或更高版本来启用可视化方式,
//则需要InitCommonControlsEx()。
否则,将无法创建窗口。
INITCOMMONCONTROLSEXInitCtrls;
InitCtrls.dwSize=sizeof(InitCtrls);
//将它设置为包括所有要在应用程序中使用的
//公共控件类。
InitCtrls.dwICC=ICC_WIN95_CLASSES;
InitCommonControlsEx(&
InitCtrls);
CWinAppEx:
InitInstance();
//初始化OLE库
AfxOleInit())
AfxMessageBox(IDP_OLE_INIT_FAILED);
AfxEnableControlContainer();
EnableTaskbarInteraction(FALSE);
//使用RichEdit控件需要AfxInitRichEdit2()
//AfxInitRichEdit2();
//标准初始化
//如果未使用这些功能并希望减小
//最终可执行文件的大小,则应移除下列
//不需要的特定初始化例程
//更改用于存储设置的注册表项
应适当修改该字符串,
//例如修改为公司或组织名
SetRegistryKey(_T("
应用程序向导生成的本地应用程序"
LoadStdProfileSettings(4);
//加载标准INI文件选项(包括MRU)
InitContextMenuManager();
InitKeyboardManager();
InitTooltipManager();
CMFCToolTipInfottParams;
ttParams.m_bVislManagerTheme=TRUE;
theApp.GetTooltipManager()->
SetTooltipParams(AFX_TOOLTIP_TYPE_ALL,
RUNTIME_CLASS(CMFCToolTipCtrl),&
ttParams);
//注册应用程序的文档模板。
文档模板
//将用作文档、框架窗口和视图之间的连接
CSingleDocTemplate*pDocTemplate;
pDocTemplate=newCSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CtlyDoc),
RUNTIME_CLASS(CMainFrame),//主SDI框架窗口
RUNTIME_CLASS(CtlyView));
pDocTemplate)
AddDocTemplate(pDocTemplate);
//分析标准shell命令、DDE、打开文件操作的命令行
CCommandLineInfocmdInfo;
ParseCommandLine(cmdInfo);
//调度在命令行中指定的命令。
如果
//用/RegServer、/Register、/Unregserver或/Unregister启动应用程序,则返回FALSE。
ProcessShellCommand(cmdInfo))
//唯一的一个窗口已初始化,因此显示它并对其进行更新
m_pMainWnd->
ShowWindow(SW_SHOW);
UpdateWindow();
//仅当具有后缀时才调用DragAcceptFiles
//在SDI应用程序中,这应在ProcessShellCommand之后发生
intCtlyApp:
ExitInstance()
//TODO:
处理可能已添加的附加资源
AfxOleTerm(FALSE);
returnCWinAppEx:
ExitInstance();
//CtlyApp消息处理程序
//用于应用程序“关于”菜单项的CAboutDlg对话框
classCAboutDlg:
publicCDialogEx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 橡皮筋 技术 实验 报告