|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
* Q* ], Y: F/ c7 b9 u0 X9 [一、对话框中显示对话框的方法: & T; {. ]0 q R" W* U
1、首先创建要在对话框里显示的那个对话框,命名为:IDD_INNER。 " o- V: H1 o+ L/ |3 y% V
设置这个对话框的属性: 9 o' M) h( W2 [# W4 b8 B- l1 s
1)、“Style”选择“Child”;中文版“样式”选择“下层”。
6 g3 z6 H" v9 ]; b( B3 l2)、“Border”为“None”;中文版“边框”选择“无”。
4 {$ I9 z& i; \- ^# J- ]
+ V# h* L% m/ W, ?0 C# {' L4 ~2、为了显示时能够准确定位,我们可以在右边要显示对话框的地方放入一个Pic控件,命名为:IDC_STATIC_RECT,Visible属性去掉。
) U. t N) h: v7 }" J* |8 b" L# b. S: M0 T' S- Z1 k7 [5 l; Z
3、得到Pic控件客户区坐标
5 u: F$ ^& _9 M9 X8 V3 f+ W//CDlgParent.cpp ——OnInitDialog()
( ]$ U7 J# u2 t& c+ ~. q: Z! O# nCRect rect;
# J8 m4 \ |2 y, P W5 E8 `GetDlgItem(IDC_STATIC_RECT)-> GetWindowRect(&rect); - N! A* M: K! V$ i
ScreenToClient(&rect); //千万注意别用成ClientToScreen(&rect); # V- |6 q. p1 B6 a7 D
/ \, V% I5 B; ?( e) y, l: O* o
4、创建并显示对话框 ( Z0 R3 T3 ^) b
方式一:
$ J8 M* a2 T3 W, e& l/ c//CDlgParent.h
4 U5 [% `& S. F: {& u1 F2 q1 XCDialog m_InnerDlg;
" Z) G- u" T6 y( T2 k0 L//CDlgParent.cpp——OnInitDialog()
- f/ D+ h% o- i) Mm_InnerDlg.Create(IDD_INNER, this); 0 d- M9 P l# u
m_InnerDlg.MoveWindow(rect); 0 p3 b# M( S& } U( f. Q: X
m_InnerDlg.ShowWindow( SW_SHOW );
) |* v8 [4 ?& U+ T1 x6 B
3 s$ V- {& G! e3 R" U方式二:
' E8 }$ p; y- e/ X* G//CDlgParent.h
( f6 w3 u3 I3 W" n! ~. o* FCDialog *m_pInnerDlg; }; m7 X* Z5 Q, R
1 S. _6 H" }* |, y' d* z//CDlgParent.cpp——OnInitDialog()
2 Z! N: p+ b! Y9 s/ K, N# P. ?m_pInnerDlg = new CDialog();
; E. X' @# b: x2 O; f2 E( @; }m_pInnerDlg->Create(IDD_INNER, this); , A) ?& a6 ]" V& I
m_pInnerDlg->MoveWindow(rect.left, rect.top, rect.Width(), rect.Height()); 2 `& \% i. e# q0 r2 _/ ?
m_pInnerDlg->ShowWindow( SW_SHOW ); 3 o4 t `: f; L6 R2 \
7 ~/ n. a6 Z; F0 `' F$ [4 z
: t) z' h" g6 E0 [( |; \$ i- \' L& X2 p9 G" B; j( B5 i
|
|