请问如何在多文档类型的MFC工程中在一定情况下,只允许用户打开一个窗口?
解决方案 »
- ado调用oracle存储过程输出结果集
- 显示/隐藏分割窗口的问题
- 看样子要去波导做软件开发了,不知道以后用VC的机会多不了,散分
- BHO插件maxthon/myie/腾汛TT这些浏览器能够自动加载吗?
- 如何通过ADO添加数据(数据库为SQL Server)?
- 关于CRichEditView,高手进
- 我的资源加载不成功怎么办,“Load Failed”请高手帮忙。谢谢了
- 当程序关闭的时候.有一个辅助线程有还有一个Socket 在listening ,请问如何结束它而不造成内存泄漏
- 在线等!很急!!各位老大帮帮忙 我用winio在2000下读取cmos的值怎样全部读出并显示在窗体上呢
- VC编程,如何防止一个程序的多个实例同时运行。
- 使用IE ReBars,IDR_MAINFRAME对话框上面加入了数个Edit控件,用Tab切换焦点时,总是回到ID最小的那个就不走了
- 自己写了一个ftp登陆程序(不停的尝试密码),谁可以告诉我怎么会这样?
//»Ø¸´ÈË£º masterz() ( ) ÐÅÓþ£º98 2002-04-16 14:20:00 µÃ·Ö:0
// override OnFileOpen and OnFileNew
void CsinglemdiApp::OnFileOpen(void)
{
POSITION doctempos=GetFirstDocTemplatePosition( );
bool bdocopen=false;
while(doctempos)
{
CDocTemplate* pdoctemp= GetNextDocTemplate( doctempos );
POSITION docpos=pdoctemp->GetFirstDocPosition();
if(docpos)
{
bdocopen =true;
break;
}
}
if(bdocopen)
return;
CWinApp::OnFileOpen();
}void CsinglemdiApp::OnFileNew(void)
{ POSITION doctempos=GetFirstDocTemplatePosition( );
bool bdocopen=false;
while(doctempos)
{
CDocTemplate* pdoctemp= GetNextDocTemplate( doctempos );
POSITION docpos=pdoctemp->GetFirstDocPosition();
if(docpos)
{
bdocopen =true;
break;
}
}
if(bdocopen)
return; CWinApp::OnFileNew();
}
//change message map to use overrided function
BEGIN_MESSAGE_MAP(CsinglemdiApp, CWinApp)
ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
// Standard file based document commands
ON_COMMAND(ID_FILE_NEW, OnFileNew) //change from CWinApp::OnFileNew to OnFileNew
ON_COMMAND(ID_FILE_OPEN, OnFileOpen)
// Standard print setup command
ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup)
END_MESSAGE_MAP()
我将文件菜单上的打开和新建菜单项删除了
另外在工具栏中自己增加了一个按钮,希望在没有窗口时,按这个按钮能
产生一个窗口.如果已打开了一个窗口时,就不允许在产生窗口.
我将你的方法试了一下.但是我发现这两个函数没有被调用.不知为什么?