|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
4 t; @9 ~5 W9 ^一、对话框中显示对话框的方法: R* Q4 z9 p4 V/ J, k. d a
1、首先创建要在对话框里显示的那个对话框,命名为:IDD_INNER。
0 r- F# B) A; }! A& V' J6 G设置这个对话框的属性:
% E, ]7 x- a+ ^: y- `, v1)、“Style”选择“Child”;中文版“样式”选择“下层”。 : r4 N3 m; h0 d: \
2)、“Border”为“None”;中文版“边框”选择“无”。
3 B- F! l6 X! A2 @( R
! p& I- S" u* T- e4 w% c" n2、为了显示时能够准确定位,我们可以在右边要显示对话框的地方放入一个Pic控件,命名为:IDC_STATIC_RECT,Visible属性去掉。 ; ?! p B1 E) k' K ~, ~
8 b3 q8 S& p% S/ Z7 j" U. t3、得到Pic控件客户区坐标
% U* I' x! J' F: f% C. L//CDlgParent.cpp ——OnInitDialog() m2 C9 ]# r, V, E8 f
CRect rect; u: Z7 A0 n) ?4 U
GetDlgItem(IDC_STATIC_RECT)-> GetWindowRect(&rect);
' C& e! q* Y& o a) M, nScreenToClient(&rect); //千万注意别用成ClientToScreen(&rect);
' o+ ^6 P$ t1 x R, ~$ h, `& L5 }% X. S2 P* p/ z' V
4、创建并显示对话框 : l, H& v1 R; i* d K s" g6 B
方式一:
% i" X6 l# [3 P( c//CDlgParent.h - e. G! u5 u U9 i3 x/ l9 n
CDialog m_InnerDlg;
1 V3 ^& ?; Z3 ?# M0 x4 w3 S//CDlgParent.cpp——OnInitDialog()
5 Y+ f* N! T. w; C& S( zm_InnerDlg.Create(IDD_INNER, this);
7 h! \7 [5 p) A' T$ `m_InnerDlg.MoveWindow(rect); ; I$ f$ B4 I8 c/ D; i5 R1 [$ v. v
m_InnerDlg.ShowWindow( SW_SHOW ); & g' L2 _: q# r D
$ _, u2 t6 g* E1 P$ f方式二:
& u7 v* L# Q {; {7 U//CDlgParent.h
! s& K3 \6 ]2 Y/ L4 J% L( ^CDialog *m_pInnerDlg;
4 R& Z8 ]* a; }
+ g4 P; N' x; ? w$ J! ~% t//CDlgParent.cpp——OnInitDialog()
/ C% u3 d0 y5 d5 l& I' Gm_pInnerDlg = new CDialog(); % G; x- x: A5 b
m_pInnerDlg->Create(IDD_INNER, this); & Q7 w) _4 y) ]. x7 V
m_pInnerDlg->MoveWindow(rect.left, rect.top, rect.Width(), rect.Height()); 2 K' Y" i! K$ p( ~9 B# y: a
m_pInnerDlg->ShowWindow( SW_SHOW ); 4 x( t# B' r! R
5 A. S" H1 `, X" ^: b; s4 E, z( N! T2 f5 ~5 @# }8 p; N* e9 }' {2 m
' g* e! B# I% x3 Q3 V6 G9 P' b
|
|