编程论坛
注册
登录
编程论坛
→
VC++/MFC
关于c++子窗口与父窗口的问题(Tab控件)
破风浪挂云帆
发布于 2013-08-06 16:54, 1113 次点击
CCTab1Dlg*pDlg = (CCTab1Dlg *)GetParent()->GetParent();
pDlg->m_Text;
我用到了一个Tab 控件想通过控件 在创建一个按钮 通过按钮再控制父窗口的EDIT控件的变量m_Text(即给变量赋值),通过上面的代码 父窗口的指针应该找到了,但目的无法达到;希望大神指点一二。一下是我的窗口
只有本站会员才能查看附件,请
登录
6 回复
#2
yuccn
2013-08-06 18:16
不要用tab控件创建按钮
把按钮扔到一个子对话框去,然后有tab空间控制子对话框的显示和隐藏就行了
#3
破风浪挂云帆
2013-08-06 18:29
回复 2楼 yuccn
我怕就是这样做的啊 ! 但怎么样用子对话框的按钮控制主对话狂的变量了
#4
yuccn
2013-08-06 19:52
以下是引用
破风浪挂云帆
在2013-8-6 18:29:25的发言:
我怕就是这样做的啊 ! 但怎么样用子对话框的按钮控制主对话狂的变量了
不要用子对话框去控制主对话框的变量,把变量扔到子对话框里面去就行了。 你可以看一线windows任务管理器。主对话框只是控制子对话框(们)的。所有的功能由对应的子对话框去控制
#5
破风浪挂云帆
2013-08-06 20:11
回复 4楼 yuccn
首先谢谢你的回答
但情况比较多,这样做的话是不是有些不方便啊
#6
yuccn
2013-08-06 20:31
回复 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 每个子对话实现控制对应的功能,比如进程相关的控件都扔在进程子对话框中,网络相关的控件都在网络子对话框中
这样会使逻辑更加简单的,如果你什么控件都扔在主对话框来控制,这样就很乱了。
#7
破风浪挂云帆
2013-08-06 20:45
对的,突然自己也想通了 ,这样的确方便。谢谢啊
1