标题:关于c++子窗口与父窗口的问题(Tab控件)
只看楼主
破风浪挂云帆
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-8-2
结帖率:100%
已结贴  问题点数:20 回复次数:6 
关于c++子窗口与父窗口的问题(Tab控件)
CCTab1Dlg*pDlg = (CCTab1Dlg *)GetParent()->GetParent();
    pDlg->m_Text;
我用到了一个Tab 控件想通过控件  在创建一个按钮 通过按钮再控制父窗口的EDIT控件的变量m_Text(即给变量赋值),通过上面的代码  父窗口的指针应该找到了,但目的无法达到;希望大神指点一二。一下是我的窗口
2013-08-06 16:54
yuccn
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6809
专家分:42393
注 册:2010-12-16
得分:20 
不要用tab控件创建按钮
把按钮扔到一个子对话框去,然后有tab空间控制子对话框的显示和隐藏就行了

我行我乐
我的博客:
http://blog.yuccn. net
2013-08-06 18:16
破风浪挂云帆
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-8-2
得分:0 
回复 2楼 yuccn
我怕就是这样做的啊 ! 但怎么样用子对话框的按钮控制主对话狂的变量了
2013-08-06 18:29
yuccn
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6809
专家分:42393
注 册:2010-12-16
得分:0 
以下是引用破风浪挂云帆在2013-8-6 18:29:25的发言:

我怕就是这样做的啊 ! 但怎么样用子对话框的按钮控制主对话狂的变量了   

不要用子对话框去控制主对话框的变量,把变量扔到子对话框里面去就行了。  你可以看一线windows任务管理器。主对话框只是控制子对话框(们)的。所有的功能由对应的子对话框去控制

我行我乐
我的博客:
http://blog.yuccn. net
2013-08-06 19:52
破风浪挂云帆
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-8-2
得分:0 
回复 4楼 yuccn
首先谢谢你的回答
但情况比较多,这样做的话是不是有些不方便啊
2013-08-06 20:11
yuccn
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6809
专家分:42393
注 册:2010-12-16
得分:0 
回复 5楼 破风浪挂云帆
不会,那样会更加好控制的。
你可以看一下windows的任务管理器的结构:


  #32770 (HWND:1049492)
    #32770 (HWND:1377822)
      SysListView32 (HWND:1508560)
        SysHeader32 (HWND:918802)
      Button (HWND:853252)
      Button (HWND:525942)
      Button (HWND:525940)
    #32770 (HWND:525944)
      Static (HWND:328954)
      ScrollBar (HWND:197798)
      SysListView32 (HWND:722538)
        SysHeader32 (HWND:329354)
      Button (HWND:263410)
      DavesFrameClass (HWND:198062)
      Button (HWND:1312276)
      DavesFrameClass (HWND:853612)
    SysTabControl32 (HWND:1181318)
      msctls_updown32 (HWND:328882)
    msctls_statusbar32 (HWND:1115532)
    #32770 (HWND:328856)
      SysListView32 (HWND:984554)
        SysHeader32 (HWND:1967620)
      Button (HWND:918780)
      Button (HWND:853196)
    #32770 (HWND:3539884)
      SysListView32 (HWND:525476)
        SysHeader32 (HWND:263348)
      Static (HWND:328886)
      Button (HWND:263362)
    #32770 (HWND:328890)
      Button (HWND:525442)
      Button (HWND:263342)
      Button (HWND:656572)
      Static (HWND:2491628)
      Edit (HWND:525570)
      Static (HWND:328888)
      Edit (HWND:591196)
      Static (HWND:394874)
      Edit (HWND:525578)
      Static (HWND:656582)
      Edit (HWND:459922)
      Static (HWND:263338)
      Edit (HWND:1115298)
      Static (HWND:328862)
      Edit (HWND:394508)
      Static (HWND:1246446)
      Edit (HWND:329000)
      Static (HWND:3605752)
      Edit (HWND:1967648)
      Static (HWND:591484)
      Edit (HWND:1377906)
      Static (HWND:1770606)
      Edit (HWND:2164242)
      Static (HWND:2688254)
      Edit (HWND:263292)
      DavesFrameClass (HWND:198082)
      DavesFrameClass (HWND:263294)
      DavesFrameClass (HWND:263304)
      DavesFrameClass (HWND:263424)
      Button (HWND:328948)
      DavesFrameClass (HWND:656518)
      DavesFrameClass (HWND:984670)
      DavesFrameClass (HWND:328854)
      Button (HWND:591402)
    #32770 (HWND:460046)
      SysListView32 (HWND:198078)
        SysHeader32 (HWND:328858)
      Button (HWND:1508458)
      Button (HWND:1377544)
      Button (HWND:198064)

结构是这样的
1 主对话框包括 一个tab, 几个子对话框(进程、窗口、网络 等)
2 tab空间控制子对话框的显示和隐藏状态
3 每个子对话实现控制对应的功能,比如进程相关的控件都扔在进程子对话框中,网络相关的控件都在网络子对话框中


这样会使逻辑更加简单的,如果你什么控件都扔在主对话框来控制,这样就很乱了。

我行我乐
我的博客:
http://blog.yuccn. net
2013-08-06 20:31
破风浪挂云帆
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-8-2
得分:0 
对的,突然自己也想通了 ,这样的确方便。谢谢啊
2013-08-06 20:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-418710-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.084802 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved