|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
0 ^. q1 F- A% P y5 b9 B* D
一、对话框中显示对话框的方法:
& W" E5 J' W7 @1、首先创建要在对话框里显示的那个对话框,命名为:IDD_INNER。 / |8 G% P) \3 Y$ V
设置这个对话框的属性:
: S+ ]. W5 W9 E, n7 q# S1)、“Style”选择“Child”;中文版“样式”选择“下层”。
& B/ x! R! _5 e$ b* P6 K. ^2)、“Border”为“None”;中文版“边框”选择“无”。
E# f4 l4 T" z& v# g& c
# w! z' |' X. N2、为了显示时能够准确定位,我们可以在右边要显示对话框的地方放入一个Pic控件,命名为:IDC_STATIC_RECT,Visible属性去掉。
) u: m# r" e0 W% j+ Z: E5 l% ^. j
1 A2 V9 g! v+ D) }6 Z3、得到Pic控件客户区坐标 # t. O! f0 b( a! C9 _2 ?# S
//CDlgParent.cpp ——OnInitDialog()
+ b7 t7 J K# U9 J8 L$ f+ XCRect rect; 5 M, ^2 d* P ~: i* ?0 P$ t
GetDlgItem(IDC_STATIC_RECT)-> GetWindowRect(&rect); 3 F# H+ g7 H) T, {
ScreenToClient(&rect); //千万注意别用成ClientToScreen(&rect);
/ e* j$ y) {4 q7 D. d' [/ @4 L1 G; C( K
4、创建并显示对话框
0 i' i0 t0 D" u7 U. U: i" K2 z5 k" _方式一:
) _5 b6 ~ |) c' G `! S//CDlgParent.h
6 |/ d; \. Q0 A5 x* QCDialog m_InnerDlg; 8 F9 @- h3 U6 c( a: `
//CDlgParent.cpp——OnInitDialog()
1 n- I/ B) w" T; p: K- Q9 o' Im_InnerDlg.Create(IDD_INNER, this);
3 _! M ]2 u nm_InnerDlg.MoveWindow(rect); " t& \2 Z( v/ a3 v8 F7 O1 e/ e
m_InnerDlg.ShowWindow( SW_SHOW );
- T0 }) o; t! a' d) e. q3 J3 a5 X. |9 I' B6 z2 l
方式二:
* K& H5 J2 B; G) L( ?//CDlgParent.h
1 F- I/ l" M1 V ICDialog *m_pInnerDlg; " `. X+ I5 j' t8 w# x
, n A1 [, D% }/ w, \5 p* x( `//CDlgParent.cpp——OnInitDialog() 5 c/ `! g Z" [: G2 S/ {3 u
m_pInnerDlg = new CDialog(); 6 @6 }; @8 z0 A9 _: [
m_pInnerDlg->Create(IDD_INNER, this);
0 T. }+ q" s( Q5 km_pInnerDlg->MoveWindow(rect.left, rect.top, rect.Width(), rect.Height()); % p4 ^% g1 H5 [' e. k* Y% c
m_pInnerDlg->ShowWindow( SW_SHOW );
. v% i$ |; j O- x; E0 F
# c5 K# c& A a5 Q q
. ?2 q4 J7 Q5 `; ~, ?# T% p$ H1 u1 A$ C: H6 }* |1 O: w
|
|