|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
i7 G4 K* \3 i' ]+ M; a3 V- ]一、对话框中显示对话框的方法:
! X3 g$ H8 G0 w) K1 f1、首先创建要在对话框里显示的那个对话框,命名为:IDD_INNER。 " V( y/ @3 D. l! e, M1 {
设置这个对话框的属性: ' ~6 o; u+ @ j9 m8 G! U4 Q
1)、“Style”选择“Child”;中文版“样式”选择“下层”。 ' X3 q8 f% Z/ R) i* @
2)、“Border”为“None”;中文版“边框”选择“无”。
! c E3 r3 I' |' e2 N: d P" D# F; i+ A& Q
2、为了显示时能够准确定位,我们可以在右边要显示对话框的地方放入一个Pic控件,命名为:IDC_STATIC_RECT,Visible属性去掉。 % o4 U7 N5 ]) T; g3 Y
- d4 A& P" V) _) E: M. B* W: _9 }0 r
3、得到Pic控件客户区坐标
4 Z1 N" i; v5 C3 [' B2 O//CDlgParent.cpp ——OnInitDialog() # p8 J6 x. G& Z) _' d
CRect rect; ; _$ F& Y* S# ~# u/ Z2 v( f- k
GetDlgItem(IDC_STATIC_RECT)-> GetWindowRect(&rect); ; t# h. u+ O1 F5 {2 i" T+ }8 ?
ScreenToClient(&rect); //千万注意别用成ClientToScreen(&rect);
- H9 ?. b" E& _( i, ?$ ?% n/ q5 s2 j
4、创建并显示对话框 - Y+ S3 I% J3 U5 C/ K4 p( L' T* o
方式一:
& j8 m8 {( w1 I* ?. a) f7 y//CDlgParent.h $ a, d- ~) G5 d3 O9 h/ Q
CDialog m_InnerDlg; - p( @; k, y/ w5 d; X
//CDlgParent.cpp——OnInitDialog() * G) H1 ^- t0 s" B3 I
m_InnerDlg.Create(IDD_INNER, this);
n. g6 G& N7 V i. km_InnerDlg.MoveWindow(rect);
5 y3 P6 u& q( r1 mm_InnerDlg.ShowWindow( SW_SHOW ); * s; T. Q H/ u8 M$ S8 Y
$ ~/ o7 N0 X# M$ @/ |- u/ {2 X* I
方式二: % b( Y3 B8 Z4 u Y5 g: I
//CDlgParent.h . e$ ~1 F3 s6 M- A
CDialog *m_pInnerDlg;
: ]% h0 _5 T4 v+ o2 _) {
n$ K9 j7 R0 f2 R7 u* t//CDlgParent.cpp——OnInitDialog()
d* J1 U4 H* Y9 ym_pInnerDlg = new CDialog();
( A$ Z+ E/ [# b9 a5 qm_pInnerDlg->Create(IDD_INNER, this);
( B" r" a- N1 z7 v8 e1 cm_pInnerDlg->MoveWindow(rect.left, rect.top, rect.Width(), rect.Height());
. L$ _* P' I2 z! l& n% X7 a7 Km_pInnerDlg->ShowWindow( SW_SHOW ); 7 M2 e* e z4 ?+ C: |
, f: _7 t' w/ Y& }7 V
6 G0 A& z2 v9 U r8 ]! v8 C) n8 j) Z/ @3 ?
|
|