PLM之家PLMHome-工业软件践行者

[资料] MFC 在父对话框中内嵌子对话框

[复制链接]

2017-8-31 13:30:49 2683 0

admin 发表于 2017-8-31 13:30:49 |阅读模式

admin 楼主

2017-8-31 13:30:49

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x

1 g. H" J5 E" P2 j3 {6 g3 C, J一、对话框中显示对话框的方法:  # A2 |( Y$ o' |; y( r
1、首先创建要在对话框里显示的那个对话框,命名为:IDD_INNER。  . N& s7 L1 [. T
设置这个对话框的属性:  
$ ?. `1 |1 D1 d! U1)、“Style”选择“Child”;中文版“样式”选择“下层”。  ) ~- {1 I  p+ e3 ~7 C, N
2)、“Border”为“None”;中文版“边框”选择“无”。  1 J0 j4 L/ l# Y" s) R, @  _
% G  P9 `! p# h% A1 ]
2、为了显示时能够准确定位,我们可以在右边要显示对话框的地方放入一个Pic控件,命名为:IDC_STATIC_RECT,Visible属性去掉。  
; x1 v* j  I  I) }) N) R* a8 P, o. v3 O$ m$ a
3、得到Pic控件客户区坐标  2 k8 ]: a9 l- Q: N
//CDlgParent.cpp ——OnInitDialog()  % a: q' v- U: M) ~5 L7 r
CRect rect;  
: x, K& g( }. Y' L. ^! e: t+ \GetDlgItem(IDC_STATIC_RECT)-> GetWindowRect(&rect);  
5 o" y4 |* ?! w# lScreenToClient(&rect);   //千万注意别用成ClientToScreen(&rect);  + ?4 U; q6 |- K
$ k8 q2 S7 o0 U3 }* L+ o6 }
4、创建并显示对话框  / k) _* e: d( m$ X' X! i. i9 D
方式一:  " \7 l+ t" g3 x/ a9 q# }& ]! J
//CDlgParent.h  3 e0 d' b7 W* h0 q. b9 a
CDialog m_InnerDlg;  ( l' r8 U& n$ F( a
//CDlgParent.cpp——OnInitDialog()  
% n1 t! C3 `1 E& y' `m_InnerDlg.Create(IDD_INNER, this);  + y& ?8 w- ^  k0 \! b
m_InnerDlg.MoveWindow(rect);  5 K& G" z" t2 f- q; |! q
m_InnerDlg.ShowWindow( SW_SHOW );  ) l9 q6 Z; @' V  t9 o: m4 L3 L
) m8 \/ c  b/ A# N/ }0 z
方式二:  8 U/ }+ b3 T$ B
//CDlgParent.h  6 ^) {2 Q: P" Z  E# S
CDialog *m_pInnerDlg;  / G) z1 i8 q- n2 @) ~8 M

3 h: M6 K" s% w# t! M$ n//CDlgParent.cpp——OnInitDialog()  * V% g6 _, L: B! C
m_pInnerDlg = new CDialog();  . J  [9 N; ^7 c+ j' L9 B
m_pInnerDlg->Create(IDD_INNER, this);  - I7 D. O! O* x' ]/ z  |
m_pInnerDlg->MoveWindow(rect.left, rect.top, rect.Width(), rect.Height());  
$ w" {/ @: P# [/ X+ c( cm_pInnerDlg->ShowWindow( SW_SHOW );  
- @# d& ]3 u% c4 c. j7 j& |# p1 P0 o/ C3 [* C
/ @( S" ^. l" g% B- L: l
- ]; W5 d/ e, `% u6 b+ h5 c
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了