关于多文档编程的问题

来源:百度知道 编辑:UC知道 时间:2024/05/18 19:03:30
最近在书上抄了一个关于MDI 的多文档编程的程序,在其中有下面的语句:void CMDIApp::OnFileNewhello()
{
// TODO: Add your command handler code here
//在模板列表中查找包含字符串“hello”的文档类型
POSITION curTemplatePos=GetFirstDocTemplatePosition();
while(curTemplatePos!=NULL)
{
CDocTemplate* curTemplate=GetNextDocTemplate(curTemplatePos);
CString str;
curTemplate->GetDocString(str,CDocTemplate::docName);
if(str==_T("Hello"))
{
curTemplate->OpenDocumentFile(NULL);
return;
}
}
AfxMessageBox(IDS_NOTELLOTEMPLATE);
}
后,出现IDS_NOTELLOTEMPLATE没有定义的错误,我知道我没有定义,我不知道在哪里定义, 如果将AfxMessageBox(IDS_NOTELLOTEMPLATE);这句话注释起来的话,能够完成编译连接,就是在文件中单击按钮时没有啥反映。
请问我该在哪里定义IDS_NOTELLOTEMPLATE?? 请高手指点,谢啦~
那要怎么编写程序才能在点击按钮后出现新的窗口呢?

IDS_NOTELLOTEMPLATE 只是你工程里面自定义的宏,应该是类似于
#define IDS_NOTELLOTEMPLATE _T("yse")
类似字样

至于说点了按钮没反应,那是你的程序代码逻辑本身如此,建议你再看清楚

因为AfxMessageBox(IDS_NOTELLOTEMPLATE);语句中要用到IDS_NOTELLOTEMPLATE相对应的字符串资源,只要添加该资源就可以了。
很简单,点击ResourceView面板,在里面找到String Table,双击它,打开一个列表,双击列表的最后一个空白项,会弹出一个对话框,在ID栏输入字符串的ID号:IDS_NOTELLOTEMPLATE,在下面的标题栏输入与该ID对应的文字就可以了,例如“Hello,This is....”。