我VS2010里的添加视图的时候没有“视图引擎”的Razor(CSHTML)

我VS2010里的添加视图的时候没有“视图引擎”的Razor(CSHTML),第1张

下图是VS2012的视图

Visual Studio 2010 默认的MVC2.0 ,Razor是MVC3.0新出的引擎

你把自带的MVC2.0卸载掉,再装上VS2010SP1 补丁 ,然后下载 MVC4.0 装上就OK了

在CXXXApp::InitInstance()函数里,有类似于这样的一段代码:

CMultiDocTemplate* pDocTemplate

pDocTemplate = new CMultiDocTemplate(IDR_Test_MFC2TYPE,

RUNTIME_CLASS(CTest_MFC2Doc),

RUNTIME_CLASS(CChildFrame), // custom MDI child frame

RUNTIME_CLASS(CTest_MFC2View))

if (!pDocTemplate)

return FALSE

AddDocTemplate(pDocTemplate)

先创建1个CMultiDocTemplate的对象。这个类是用来创建文档模板的。在它的构造函数里传了4个参数。第1个参数是文档类型,其实就是个整数。你可以再自定义一些类型,这样你的程序就能处理不同类型的文档了。第2到4个参数分别是文档类、框架窗口类、视图类的RuntimeClass,注意,在这里就把框架(CFrameWnd的派生类)和视图(CView的派生类)关联到一个文档模板里了。接下来调用AddDocTemplate(pDocTemplate),添加一个文档模板到CXXXApp类里。程序编译好后,当你单击菜单上“文件”->“新建”时,就会按照你添加的那个文档模板,创建一个文档(实际上是创建了CTest_MFC2Doc、CChildFrame、CTest_MFC2View这3个类的对象。这3个对象是关联在一起的,分别负责保存数据、显示框架窗口(注意,是里面的那个窗口不是最外边的那个)、显示视图)。这3个对象的创建代码是MFC事先写好的,你要做的只是new1个(也可以是多个)CMultiDocTemplate的对象,然后调用AddDocTemplate把它加到CXXXApp里。

说的稍有点乱,不明白的地方可以向我追问。

在对话框中可以直接用绘图指令的,加入OnPaint就可以,就是映射消息WM_PAINT。然后在函数开头加入CDC *pDC=GetDC()就可以了,后面就和在单文档中OnDraw里面一样了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11641673.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存