解决方案 »
- 使用VC++怎么连接Excel?
- 问一个很早就想问的问题?大家知道C++之父Bjarne Stroustrup 中文咋读啊!
- 十万火急!!!!!请各位兄弟多多帮忙!在线等待!!!
- 请问这句程序是什么意思!谢谢!
- 那位知道,用CAsySocket 怎样获得服务器的时间(WIN200) ,我急用,并没分了,拜托了,十万火急!!!!!
- 如何编程实现让MOXA多串口通信服务器重启?
- Q_O() 谢谢你!请看内容:
- 请教Windows Media player activex组件问题
- 关于编辑控件内容显示的一个问题!
- 关于.cpl(.dll)程序的编译问题.急急急!
- 【头脑风暴!】MFC 多线程 程序设计问题
- stringstream创建对象问题
2.CEditView的UpdateView中:
SetWindowText(fileStr);
别的不要。
3.Doc 得到fileStr后 UpdateAllView();
2.CEditView的UpdateView中:
SetWindowText(fileStr);
别的不要。
3.Doc 得到fileStr后 UpdateAllView();
[8/Quote]
感谢你的回复,我按照你的提示做了如下操作:
在Doc类中添加函数BOOL CTestShowViewDoc::OnOpenDocument(LPCTSTR lpszPathName)
{
if (!CDocument::OnOpenDocument(lpszPathName))
return FALSE; CFile file(lpszPathName, CFile::modeRead);
file.Read(fileStr.GetBuffer(file.GetLength()), (UINT)file.GetLength());
UpdateAllViews(NULL);
file.Close(); return TRUE;
}
在View中添加:void CTestShowViewView::OnUpdate(CView* /*pSender*/, LPARAM /*lHint*/, CObject* /*pHint*/)
{
SetWindowText(GetDocument()->fileStr);
}不知道是我理解有误还是操作有问题,但是仍然无法显示文本文件。
我留意到你的第二条步骤中提到了CEditView,我的原意是不使用CEditView继承来实现此功能,因为需求是对生成的报表只能查看,不能修改。但是使用CEditView会导致能够编辑文本,这是不允许的。
仍然感谢你的回复,期待更精彩的答案!
CEditView::GetEditCtrl().SetReadOnly();
但是会出现运行时错误,忽略错误后,打开文本仍然可以编辑。
放InitialUpdate 中试试。
ReadyOnly后背景颜色是灰的。
void CXXXView::OnInitialUpdate()
{
CEditView::OnInitialUpdate();
CEditView::GetEditCtrl().SetReadOnly();
}
即完成显示文本但不能编辑的功能。
谢谢大家,立即结贴!