hur.cn - 华软网

 热门搜索

如何让MDI窗体开始运行时不添加子窗体?新建按钮响应我想添加的窗体

  作者:未知    来源:网络    更新时间:2010/12/9
如题

MDI程序在起头run时,会自动增加一个默许子窗体,如何将其删除,不增加

但当我点击时增加我自定义的窗体

谢谢!
---华软 网友回答---
App类的InitInstance函数中
在if (!ProcessShellCommand(cmdInfo))之前加上
cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;
---华软网友回复---
C++">
// Parse command line for standard shell commands, DDE, file open
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;
// Dispatch commands specified on the command line
if (!ProcessShellCommand(cmdInfo))
return FALSE;

---华软网友回复---
引用 1 楼 visualeleven 的回复:
App类的InitInstance函数中
在if (!ProcessShellCommand(cmdInfo))之前加上
cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;


谢谢  经常看到您解决我的问题 

另有一个问题,MDI程序的窗口菜单是如何响应的?它怎么判断出当前有无子窗体显示或置灰?我生成了一个dialog窗体作为子窗体,但却没有让其可用。

我的方式是:
CMDIDialog* pDlg=new CMDIDialog(IDD_DIALOG_CHILD);
pDlg->DoInsert();
//pDlg->SendMessage(WM_NCACTIVATE);
::SendMessage(m_hWnd,WM_MDIACTIVATE,(WPARAM)pDlg->m_hWnd,0);

void CMDIDialog::DoInsert()
{
CMDIFrameWnd *pWnd=(CMDIFrameWnd *) ::AfxGetMainWnd();
CWnd *pChildWnd = FromHandle(pWnd->m_hWndMDIClient);
bInserted=1;
Create(IDD_DIALOG_CHILD, NULL);
SetParent(pChildWnd);
if(GetStyle()&DS_CENTER) 
CenterWindow();
SetFocus();//OK
ShowWindow(SW_SHOW);
UpdateWindow();
}
---华软网友回复---
引用 3 楼 qiuxin425 的回复:
引用 1 楼 visualeleven 的回复:
App类的InitInstance函数中
在if (!ProcessShellCommand(cmdInfo))之前加上
cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;


谢谢 经常看到您解决我的问题 

另有一个问题,MDI程序的窗口菜单是如何响应的?它怎么判断出……

囧,你直接运用CFormView类作为你的视图类不就能够了
---华软网友回复---
引用 4 楼 visualeleven 的回复:
引用 3 楼 qiuxin425 的回复:
引用 1 楼 visualeleven 的回复:
App类的InitInstance函数中
在if (!ProcessShellCommand(cmdInfo))之前加上
cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;


谢谢 经常看到您解决我的问题

另有一个问题,M……


只可用CFormView类?  我用完弹出的窗体不是我设置的巨细,我想弹出时按我在资源里面的巨细弹出来,这该怎么做?
---华软网友回复---
引用 5 楼 qiuxin425 的回复:
引用 4 楼 visualeleven 的回复:
引用 3 楼 qiuxin425 的回复:
引用 1 楼 visualeleven 的回复:
App类的InitInstance函数中
在if (!ProcessShellCommand(cmdInfo))之前加上
cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;


……

MoveWindow()/SetWindowPos()设置区域巨细
---华软网友回复---
引用 6 楼 visualeleven 的回复:
引用 5 楼 qiuxin425 的回复:
引用 4 楼 visualeleven 的回复:
引用 3 楼 qiuxin425 的回复:
引用 1 楼 visualeleven 的回复:
App类的InitInstance函数中
在if (!ProcessShellCommand(cmdInfo))之前加上
cmdInfo.m_nShellCommand = CCommandLineI……


能详细给代码么  我刚接触VC  以前都是用的C#
这两个函数该怎么写,马上结贴给你分数
---华软网友回复---
引用 7 楼 qiuxin425 的回复:
引用 6 楼 visualeleven 的回复:
引用 5 楼 qiuxin425 的回复:
引用 4 楼 visualeleven 的回复:
引用 3 楼 qiuxin425 的回复:
引用 1 楼 visualeleven 的回复:
App类的InitInstance函数中
在if (!ProcessShellCommand(cmdInfo))之前加上
cmdInfo.m_nSh……

MoveWindow/SetWindowPos()你能够直接参照MSDN文档      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。