3个问题:菜单,视图,文件 [所有相关帖子] 
1.我写了一段删除菜单的程序:
CMenu *hMenu;
hMenu=AfxGetMainWnd()->GetMenu();
hMenu->DeleteMenu(3,MF_BYPOSITION);
DrawMenuBar(); 单步调试的时候可以看到菜单被删除,可是直接运行的时候菜单不能删除
这是为什么??2.我想在一个视图中刷新另外一个视图的内容
怎么实现?
CView1::OnButton()
{
  ...
  CView2 * pView2;
  ...
}
这样不行!3怎么打开文件?CString strpathname;
CFileDialog filedlg(true,".mdb","System_97",OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"Access Files (*.mdb)|*.mdb",NULL);
if(filedlg.DoModal()==IDOK)
{
    strpathname=filedlg.GetPathName();
    ...
}
后面的代码怎么实现??
找到文件了,怎么打开?

解决方案 »

  1.   

    这样也许可以:  CFile file;
      file.Open(filedlg.GetPathName(),CFile::modelRead);
      

  2.   

    2.我想在一个视图中刷新另外一个视图的内容
    这样操作CView1---------文档类------  CView2
      

  3.   

    UPING!!!UPING!!!UPING!!!UPING!!!UPING!!!UPING!!!
      

  4.   

    1、
    MDI frame 的情况下,视图之间的切换,会导致 MFC frame自动切换菜单。
    所以,要动态修改菜单比较麻烦,得看修改的是 MainFrame 的,还是 childFrame 的。
    如果是 mainframe 的,你可以在 主框架创建完成之后,
    例如在 CYouApp::OnInitInstance() 结束之后,
    进行菜单的处理:
    m_pMainFrame -> process_menu( .. )
    SDI 处理办法和这个差不多。
    如果是 childFrame 的,你必须重载其中的函数,调换菜单。
    2、
    可以获得该视图相关联的 doc, 然后调用 UpdateAllViews 
    3、
    可以使用 c 运行库的一系列函数:fopen, fclose, fread, fwrite ...
    也可以使用 mfc 库的 CFile