如何在一个新建的类对对话框类的控件进行操作

jacky198554 2009-11-26 08:54:48
我现在有一个基于对话框的VC工程,在主对话框类中有一个Tab控件。我又新建了一个对话框类,我想在我新建的对话框类中控制主对话框中Tab控件中tab页的个数。
我先问一下大家如何对他进行控制,怎样才能在新建的对话框类中操作主对话中的控件。
...全文
122 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
red-fly 2009-11-27
  • 打赏
  • 举报
回复
代码逻辑如下,按照上面的两种思想分别给出:

1. 有两种方法:
A. 在CMainDialog中:
myclass.SetMain( this );
在myclass中:
m_pMainDlg->m_Tab.xxx();
B.
在CMainDialog中:
myclass.SetTab( &m_Tab );
在myclass中:
m_pTab->xxx();

2. 会比较第一种思路有一点麻烦。也是两种方法:
A. 在CMainDialog中:
myclass.SetMainHwnd( m_hWnd );
在myclass中:
SendMessage( m_hMainWnd, 自己定义的消息, 参数 );
在CMainDialog中的WndProc()中处理这个消息:
if ( message == 自己定义的消息 )
m_Tab.xxx();
B.在CMainDialog中:
myclass.SetTabHwnd( m_Tab.m_hWnd );
在myclass中:
SendMessage( m_hTabWnd, 自己定义的消息, 参数 );
在CTabCtrl的自己派生的类中的WndProc()中处理这个消息:
if ( message == 自己定义的消息 )
this->xxx();
hongya6088 2009-11-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jszj 的回复:]
两种思路:
1. 把相关的指针传到新的类中,在新的类中用这个指针来操作Tab控件
2. 在新的类中向主窗口中发送消息,在主窗口中处理消息

在第1种思路中,指针可以是主窗口的指针,也可以是主窗口上Tab控件的指针。
[/Quote]
全了
jacky198554 2009-11-26
  • 打赏
  • 举报
回复
上面的朋友,能不能给我发一下具体的代码,谢谢
red-fly 2009-11-26
  • 打赏
  • 举报
回复
两种思路:
1. 把相关的指针传到新的类中,在新的类中用这个指针来操作Tab控件
2. 在新的类中向主窗口中发送消息,在主窗口中处理消息

在第1种思路中,指针可以是主窗口的指针,也可以是主窗口上Tab控件的指针。
jacky198554 2009-11-26
  • 打赏
  • 举报
回复
我还想问一下,怎么可以将主窗口的指针传到我新建的中呢
wltg2001 2009-11-26
  • 打赏
  • 举报
回复
只要能获取要操作的对话框的指针就可以对它进行操作了。
ziplj 2009-11-26
  • 打赏
  • 举报
回复
一个简单的方法就是传递一个主窗口的指针进去 简洁 高效

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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