SDI窗体,窗体间的切换 SDI窗体,有几个dialog窗体,一个是主窗体,提供目录功能(不是菜单,是在界面中的button控件),还有若干个子窗体。现有几个问题:1. 如何设置某个窗体为主窗体,子窗体?2. 如何实现遵循主窗体界面上的目录选项切换至对应子界面? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 主窗体在VIEW类里面,子窗体在主窗体里面用成员变量就行了 你创建基类为FormView的SDI,那么FormView就是主窗体,在其上增加控制按钮。你所说的这些dialog窗体你希望如何展示呢?弹出还是嵌入在主窗体中?如果是后者,你可以在主窗体中放置个TabCtrl来管理这些子窗体。 1.由CMainFrame创建的就是主窗体。 其他的都是子窗体。 CSingleDocTemplate* pDocTemplate;pDocTemplate = new CSingleDocTemplate( IDR_MAINFRAME, RUNTIME_CLASS(CMy1Doc), RUNTIME_CLASS(CMainFrame), // main SDI frame window RUNTIME_CLASS(CMy1View)); //My1View就是主的窗体 AddDocTemplate(pDocTemplate); 一直都是用dialog base的,对SDI不大了解。所有添加的dialog窗体都是CFormView的,project本身有个CFrameWnd.我现在的做法是将其中一个窗体作为默认界面(主界面)的形式在程序开始时显示,在菜单栏添加自定义菜单项目切换子窗体.这些窗体都嵌入在主框架中,不是主窗体中。这些现在都做好了。问题是我想在默认界面(主界面)中添加若干选项控件(如button),通过这些控件同样达到上面提及的菜单操作功能,实现子界面的切换.当前其实并没有什么主界面,我也搞不清,只是选择了一个子界面作为默认界面,提供目录功能(切换至其他界面) 可以通过控件的事件(例如点击)POST不同的消息上去就行了(也可以同一消息,带不同的参数) 还为结贴postmessage(WM_CHANGEPAGE, 标识显示那个子窗口, wparam);然后在消息相应函数里面switch(lparam){case //打开不同的窗口} WM_CHANGEPAGE?好像没有这个消息吧???能详细点么? 就结了?看来我来晚了,你可以在各个子窗体中通过获取MAINFRAME的指针来操作其他窗体. 控件、菜单、各种资源 ID 重复了会怎么样 .......................CWinApp::OnFileOpen()........................ 求救!!!!搜索驱动器下的整个目录时 程序执行时间太长 对于线程方法必须设置为static的疑问 请推荐几本有关VC++屏幕输出(屏幕绘图、屏幕映射等)方面的书,谢谢 关于RAS 怎样才能取得打印机的缺纸状态 一个让所有的人都头痛的问题 软件模块化,菜单消息响应的问题, 字符串来送分 请教下一个进程中的线程想用另一个进程来结束 请问下这是bug吗?
你所说的这些dialog窗体你希望如何展示呢?弹出还是嵌入在主窗体中?如果是后者,你可以在主窗体中放置个TabCtrl来管理这些子窗体。
pDocTemplate = new CSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CMy1Doc),
RUNTIME_CLASS(CMainFrame), // main SDI frame window
RUNTIME_CLASS(CMy1View)); //My1View就是主的窗体
AddDocTemplate(pDocTemplate);
所有添加的dialog窗体都是CFormView的,project本身有个CFrameWnd.
我现在的做法是将其中一个窗体作为默认界面(主界面)的形式在程序开始时显示,在菜单栏添加自定义菜单项目切换子窗体.这些窗体都嵌入在主框架中,不是主窗体中。这些现在都做好了。
问题是我想在默认界面(主界面)中添加若干选项控件(如button),通过这些控件同样达到上面提及的菜单操作功能,实现子界面的切换.
当前其实并没有什么主界面,我也搞不清,只是选择了一个子界面作为默认界面,提供目录功能(切换至其他界面)
postmessage(WM_CHANGEPAGE, 标识显示那个子窗口, wparam);然后在消息相应函数里面
switch(lparam)
{
case
//打开不同的窗口
}
好像没有这个消息吧???能详细点么?