PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

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

admin 楼主

2017-8-31 13:30:49

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

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

x

6 y$ O* w5 i1 u+ n一、对话框中显示对话框的方法:  
- i0 C" K9 s; d. V3 b1、首先创建要在对话框里显示的那个对话框,命名为:IDD_INNER。  $ F; S6 c  e) i$ r0 e1 h
设置这个对话框的属性:  6 i- k8 ^% E$ G6 q9 Y
1)、“Style”选择“Child”;中文版“样式”选择“下层”。  . Z) c1 M$ D: _# C2 q" O4 Z5 R
2)、“Border”为“None”;中文版“边框”选择“无”。  5 \5 I- j- i; C# \6 z, E) [* Y

, `! \7 M5 R9 P. A5 B2、为了显示时能够准确定位,我们可以在右边要显示对话框的地方放入一个Pic控件,命名为:IDC_STATIC_RECT,Visible属性去掉。  
4 j- a& k( x7 u4 q! X9 ]# m! e# y3 V! q9 D7 k. f& w
3、得到Pic控件客户区坐标  
7 D7 ^8 E3 T4 s$ q- t' [" Y//CDlgParent.cpp ——OnInitDialog()  
4 n+ R8 M) ^' r: I6 wCRect rect;  
/ h( G* V- O) Q4 uGetDlgItem(IDC_STATIC_RECT)-> GetWindowRect(&rect);  
# w4 Y# r8 h5 _$ R$ dScreenToClient(&rect);   //千万注意别用成ClientToScreen(&rect);  
1 G1 S! ?2 u( F# M. e7 \: `/ ~& L! P& I4 v" f- }+ a% n% E
4、创建并显示对话框  
  i7 p1 y3 ?4 V# c: I$ T& `方式一:  
9 A) v5 G5 N8 o5 u+ t$ F//CDlgParent.h  # J6 ]: a( @! R
CDialog m_InnerDlg;  
; G6 ]0 ^, k( l/ P! Z//CDlgParent.cpp——OnInitDialog()  
" d2 {4 D& p1 Wm_InnerDlg.Create(IDD_INNER, this);  
! I7 h$ `" ]0 U/ G: d6 Zm_InnerDlg.MoveWindow(rect);  
9 o9 t- ?: E5 U3 I# s+ Y2 `m_InnerDlg.ShowWindow( SW_SHOW );  $ F8 |) P5 t2 A0 m+ {" m

$ f4 L. r/ c: K) j) z( z# h方式二:  
! a5 f, J5 x# R, \//CDlgParent.h  7 {+ |, J7 x* y1 d
CDialog *m_pInnerDlg;  5 d+ G0 L( r( ^8 [  S
7 M) r% ?  \/ Q9 g0 l9 V  i) e
//CDlgParent.cpp——OnInitDialog()  
# h+ U4 V$ X$ _5 u$ Im_pInnerDlg = new CDialog();  # K% [1 v. M; x1 R
m_pInnerDlg->Create(IDD_INNER, this);  ( B+ ?, \2 {7 a$ M! A  T$ Z
m_pInnerDlg->MoveWindow(rect.left, rect.top, rect.Width(), rect.Height());  
+ ^$ M( H& @; j: {% r: Um_pInnerDlg->ShowWindow( SW_SHOW );  , W6 i4 `3 Z6 \

, T0 j6 I3 L, G  @9 C
! x; _  J3 x( @8 c  g! z+ \% S$ q
( X$ l: n' `  g1 Y! O( i5 E& u
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了