对话框+属性页

dengzhu 2010-04-29 08:27:32
我要实现这么一个功能:

有个主对话框,上面有四个属性页,还有其他各种控件,
每个属性页上面有不同的控件,
当选择不同的属性页上面的数据时,点击主对话框的命令按钮,就可以把在属性页上面选择的数据出来。

这样应该怎样创建呢?
好像如果直接用CPropertyPage和CPrppertySheet来创建,就不能编辑主对话框了,
还有就是主对话框怎样获取不同属性页的消息事件?


本人菜鸟一个,麻烦大家说详细一点。哈哈。谢谢。
...全文
976 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
dengzhu 2010-04-29
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 visualeleven 的回复:]

lz是想完全让别人帮你做啊。。。
[/Quote]

哈哈。我也是这么想的。

哈哈。问题解决了,谢谢大家了。
哦也。
Eleven 2010-04-29
  • 打赏
  • 举报
回复
lz是想完全让别人帮你做啊。。。
soundbird_qian 2010-04-29
  • 打赏
  • 举报
回复
添加void OnSelchangeTabCollparam(NMHDR* pNMHDR, LRESULT* pResult)函数。
完了在主对话框下定义与各个子对话框上的所有变量对应的变量。这样主对话框上的变量就可以看做是“全局变量”了,属性框上的变量就能传到主对话框上了
dengzhu 2010-04-29
  • 打赏
  • 举报
回复
俺的邮箱:dengzhu87@qq.com

谢谢大家了。哈哈
soundbird_qian 2010-04-29
  • 打赏
  • 举报
回复
你有邮箱没有?这么说好像说不明白,最好有源码看,你就明白了。
在主对话框上添加一个Tab控件,再在资源里添加对话框。

m_tabParamSheet.InsertItem(0, _T("对话框1的名称")); //m_tabParamSheet为Tab的变量
m_tabParamSheet.InsertItem(1, _T("对话框2的名称"));
m_ComParamDlg.Create(对话框1ID, &m_tabParamSheet); //m_ComParamDlg为对话框1的变量
m_AddParamDlg.Create(对话框2ID, &m_tabParamSheet);//m_AddParamDlg为对话框1的变量

CRect rc;
m_tabParamSheet.GetClientRect(&rc);
//调整子对话框在父窗口中的位置
rc.top += 20;
rc.bottom -= 1;
rc.left += 1;
rc.right -= 1;

m_ComParamDlg.MoveWindow(&rc);
m_AddParamDlg.MoveWindow(&rc);

m_ComParamDlg.ShowWindow(SW_SHOW);
m_AddParamDlg.ShowWindow(SW_HIDE);
m_tabParamSheet.SetCurSel(0);
dengzhu 2010-04-29
  • 打赏
  • 举报
回复
属性页1的对象为m_page1。它上面有个复选框,关联变量为m_check1。
然后,我在主对话框是这样检测的:
if (m_page1.m_check1 )
{
MessageBox("已经选择");
}
else
{
MessageBox("没有选择");
}

但是,都是显示“没有选择”
........
........
muzizongheng 2010-04-29
  • 打赏
  • 举报
回复
你有属性表的对象 或者指针啊,

然后调用属性表的 指定属性页啊. 这个就是 . 的问题.
dengzhu 2010-04-29
  • 打赏
  • 举报
回复
怎么样呢?
麻烦各位教教我啊。
dengzhu 2010-04-29
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 muzizongheng 的回复:]
这个属于另外一个问题 . 呵呵
[/Quote]
怎么办呢?
muzizongheng 2010-04-29
  • 打赏
  • 举报
回复
这个属于另外一个问题 . 呵呵
dengzhu 2010-04-29
  • 打赏
  • 举报
回复
无论属性页上面的复选框有没有选中,主对话框认为没有选中。

为什么???

到底怎样把属性上面的数据传递给主对话框?
fangchao918628 2010-04-29
  • 打赏
  • 举报
回复
IsDlgButtonChecked
dengzhu 2010-04-29
  • 打赏
  • 举报
回复
现在基本把界面弄出来了。
不过,现在有个问题,
就是属性页1上面有几个复选框,那么主对话框怎么知道那些复选框有没有被选中?
dengzhu 2010-04-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 muzizongheng 的回复:]
晕, lz你是不是就没用过vc啊??

我说了4步, 然后每步咱们实现, 可以google啊. 总不能全部代码给你吧, 汗
[/Quote]

都是是菜鸟了。嘿嘿。
muzizongheng 2010-04-29
  • 打赏
  • 举报
回复
晕, lz你是不是就没用过vc啊??

我说了4步, 然后每步咱们实现, 可以google啊. 总不能全部代码给你吧, 汗
dengzhu 2010-04-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 muzizongheng 的回复:]

简单,
1. 创建 dlg
2. 在dlg上创建TabCtrl
3. 在TabCtrl上创建n个子dlg.
4. show
[/Quote]

果然很简单,不懂
muzizongheng 2010-04-29
  • 打赏
  • 举报
回复
简单,
1. 创建 dlg
2. 在dlg上创建TabCtrl
3. 在TabCtrl上创建n个子dlg.
4. show
尹成 2010-04-29
  • 打赏
  • 举报
回复
高手讲解下,楼主很诚恳
dengzhu 2010-04-29
  • 打赏
  • 举报
回复
自己顶一个。哈哈

15,981

社区成员

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

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