|
|
请使用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
|
|