在多视图MDI程序中怎么改视图的名字?
用VC新建一个多文档程序,然后我新建两个视图类,在app类的Initlnstance中写入:pDocTemplate=newCMultiDocTemplate(IDR_M...
用VC新建一个多文档程序,然后我新建两个视图类,在app类的Initlnstance中写入:
pDocTemplate = new CMultiDocTemplate(
IDR_MDISOFTYPE,
RUNTIME_CLASS(CMdisoftDoc),
RUNTIME_CLASS(CChildFrame),
RUNTIME_CLASS(CMdisoftView));
AddDocTemplate(pDocTemplate);
pDocTemplate = new CMultiDocTemplate(
IDR_MDISOFTYPE,
RUNTIME_CLASS(CMdisoftDoc),
RUNTIME_CLASS(CChildFrame),
RUNTIME_CLASS(CView1));
AddDocTemplate(pDocTemplate);
pDocTemplate = new CMultiDocTemplate(
IDR_MDISOFTYPE,
RUNTIME_CLASS(CMdisoftDoc),
RUNTIME_CLASS(CChildFrame),
RUNTIME_CLASS(Cview2));
AddDocTemplate(pDocTemplate);
运行的时候会出现一个对话框,选择哪一个视图名字,而这三个名字是一样的,且是应用程序的名字,请问下应该怎么样该这些名字? 展开
pDocTemplate = new CMultiDocTemplate(
IDR_MDISOFTYPE,
RUNTIME_CLASS(CMdisoftDoc),
RUNTIME_CLASS(CChildFrame),
RUNTIME_CLASS(CMdisoftView));
AddDocTemplate(pDocTemplate);
pDocTemplate = new CMultiDocTemplate(
IDR_MDISOFTYPE,
RUNTIME_CLASS(CMdisoftDoc),
RUNTIME_CLASS(CChildFrame),
RUNTIME_CLASS(CView1));
AddDocTemplate(pDocTemplate);
pDocTemplate = new CMultiDocTemplate(
IDR_MDISOFTYPE,
RUNTIME_CLASS(CMdisoftDoc),
RUNTIME_CLASS(CChildFrame),
RUNTIME_CLASS(Cview2));
AddDocTemplate(pDocTemplate);
运行的时候会出现一个对话框,选择哪一个视图名字,而这三个名字是一样的,且是应用程序的名字,请问下应该怎么样该这些名字? 展开
1个回答
展开全部
没有视图名这一说法的。MDI中只有:主框架名(主窗口上的标题),子框架名(子窗口上的标题/也可以说是文档名)。
你在创建模板时第一个参数不是指定了一个ID吗?这个ID代表了很多东西的,代表你要加载的子窗口图标ID,子窗口菜单ID,子窗口所用标题的字符串ID等等。
因此要做的是编辑/新建自己的字符串资源就可以了。
字符串格式:
SDI:
Window Caption\nDocument Name\nSaved File Name\nSaved Type Tips\n.ext\n
每个字符串用\n分割:第0个:窗口标题;第1个:显示的文档名;第2个:保存文件时默认的文件名;第3个:保存文件时,在保存类型里显示的字符串;第4个:保存文件的扩展名;
MDI:
参照SDI字符串格式顺序,只是需要把SDI中一个字符串资源拆成2个字符串资源。理所当然需要有2个ID。拆分就是把第0个字符串作为一个字符串资源。
在代码中这样设置你的标题:
pDocTemplate = new CMultiDocTemplate(
IDR_MDICHILD,//第二个字符串资源的ID,ID的意义是给MDIChildWnd加载对应的窗口标题,窗口图标,在主窗口中显示的菜单,菜单之所以在主窗口显示,是因为子窗口不允许有自己的菜单。
RUNTIME_CLASS(CMdisoftDoc),
RUNTIME_CLASS(CChildFrame),
RUNTIME_CLASS(CView1));
AddDocTemplate(pDocTemplate);
。。。
my_pCMDIFrameWnd->LoadFrame(IDR_MAINFRAME);//ID的意义是为主窗口加载标题,菜单
ID是可以自己随便定的!
你在创建模板时第一个参数不是指定了一个ID吗?这个ID代表了很多东西的,代表你要加载的子窗口图标ID,子窗口菜单ID,子窗口所用标题的字符串ID等等。
因此要做的是编辑/新建自己的字符串资源就可以了。
字符串格式:
SDI:
Window Caption\nDocument Name\nSaved File Name\nSaved Type Tips\n.ext\n
每个字符串用\n分割:第0个:窗口标题;第1个:显示的文档名;第2个:保存文件时默认的文件名;第3个:保存文件时,在保存类型里显示的字符串;第4个:保存文件的扩展名;
MDI:
参照SDI字符串格式顺序,只是需要把SDI中一个字符串资源拆成2个字符串资源。理所当然需要有2个ID。拆分就是把第0个字符串作为一个字符串资源。
在代码中这样设置你的标题:
pDocTemplate = new CMultiDocTemplate(
IDR_MDICHILD,//第二个字符串资源的ID,ID的意义是给MDIChildWnd加载对应的窗口标题,窗口图标,在主窗口中显示的菜单,菜单之所以在主窗口显示,是因为子窗口不允许有自己的菜单。
RUNTIME_CLASS(CMdisoftDoc),
RUNTIME_CLASS(CChildFrame),
RUNTIME_CLASS(CView1));
AddDocTemplate(pDocTemplate);
。。。
my_pCMDIFrameWnd->LoadFrame(IDR_MAINFRAME);//ID的意义是为主窗口加载标题,菜单
ID是可以自己随便定的!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询