MDI子框架窗口以CFORMVIEW类为视类,请问如何初始化cformview上面的一些控件

liviatt 2008-12-01 01:13:06
因为不需要用到CDocument类,准备跟数据库相连,所以不能用OnInitiaUpdate()初始化吧,不知道该在哪个函数初始化呢??第一次使用多文档中添加子框架窗口,里面很多东西都不大明白,请高手指教,说清楚一些。
...全文
229 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
liumeiqinyang 2008-12-01
  • 打赏
  • 举报
回复
文档模板的作用大概是这些,不关联就自己手动加上,formview的操作和dlg几乎一样。
pFrame = new CChildFrame();
//为子窗口加载指定view页
CCreateContext context;
context.m_pNewViewClass=RUNTIME_CLASS(CChildView);
pFrame->LoadFrame(IDI_ICON_LOG,WS_MAXIMIZE|WS_OVERLAPPEDWINDOW, AfxGetMainWnd(),&context);
liviatt 2008-12-01
  • 打赏
  • 举报
回复
我就是不需要文档,因为我要建很多个这个的Cformview,仅仅把他当作对话框来用的。
liumeiqinyang 2008-12-01
  • 打赏
  • 举报
回复
没有跟文档关联,可能需要你自己去做这部分工作,与在OnInitiaUpdate和oncreate里初始化不矛盾。
liviatt 2008-12-01
  • 打赏
  • 举报
回复
因为我的Cformview没有跟文档连,你看下MSDN中OnInitiaUpdate的说明就知道了。
另外MSDN中说了
The form-view window and child controls are not created until CWnd::Create is called. CWnd::Create is called by the framework as part of the document and view creation process, which is driven by the document template.
OnCreate中不行也是因为没有跟文档连的原因吧

ZJCCCC 2008-12-01
  • 打赏
  • 举报
回复
liumeiqinyang 2008-12-01
  • 打赏
  • 举报
回复
谁说OnInitiaUpdate中不能?
lz你去测一下就知道了
孤客天涯 2008-12-01
  • 打赏
  • 举报
回复
这些东西为什么不能在OnInitiaUpdate中初始化?在OnCreate中也可以,构造函数中是不行,因这窗口还没创建,只有窗口创建后才能初始化控件。
jy514263 2008-12-01
  • 打赏
  • 举报
回复
在OnCreate()函数里初始化

例子

m_pButton = new CButton;
m_pButton->Create(
"TestDymanicButton", BS_RIGHT | WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON | BS_NOTIFY,
CRect(300, 20, 435, 45),
this,
5500 //按钮ID,大于WM_USER
);
m_pButton->ShowWindow(SW_SHOW);

分拿来!@#@%$^&(*)
liviatt 2008-12-01
  • 打赏
  • 举报
回复
初始化控件,比如向CComboBox中Addstring一些项
孤客天涯 2008-12-01
  • 打赏
  • 举报
回复
你到底要初始化什么东西,相关代码贴出来
liviatt 2008-12-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 cnzdgs 的回复:]
如果不在OnInitiaUpdate中初始化,也可以响应WM_CREATE消息,在OnCreate函数中初始化(调用基类函数之后)。
[/Quote]
试过了,不行~放在ShowWindow里也不行。
liviatt 2008-12-01
  • 打赏
  • 举报
回复
构造函数也只能初始化CString类型的变量,要是控制变量就不行了
liviatt 2008-12-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jason_wentzel 的回复:]
放构造函数或OnInitiaUpdate中都可以
[/Quote]
说了OnInitiaUpdate不行!
孤客天涯 2008-12-01
  • 打赏
  • 举报
回复
放构造函数或OnInitiaUpdate中都可以
cnzdgs 2008-12-01
  • 打赏
  • 举报
回复
如果不在OnInitiaUpdate中初始化,也可以响应WM_CREATE消息,在OnCreate函数中初始化(调用基类函数之后)。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧