关于属性页和属性单的应用总结
来源:互联网 发布:js 移除子节点的class 编辑:程序博客网 时间:2024/05/19 00:53
关于属性页和属性单的应用总结
1、属性页(CPropertyPage)中获取
(1) 程序主框架指针:CMainFrame* pMainFrame=(CMainFrame*)AfxGetMainWnd();
(2) 程序子框架指针:CChildFrame* pframe=(CChildFrame*)((CMainFrame*)AfxGetMainWnd())->GetActiveFrame();
(3) 程序活动文档指针:CEMCDoc* m_pDoc=(CEMCDoc*)pframe->GetActiveDocument(); //获取活动的文档
(4) 属性单(CPropertySheet)指针:CMyPropertySheet* pSheet=(CMyPropertySheet*)this->GetParent(); // 获取CMyPropertySheet指针
(5) 程序活动视图指针:CEMCView* pView=(CEMCView*)pframe->GetActiveView(); // 获取活动视图
2、在属性单(CPropertySheet)单击OK按钮后,程序框架将逐个遍历加载的CPropertyPage(从GetPage(0)~GetPage(N-1)),查询是否
有CPropertyPage重载了OnOK(),若有则执行重载的代码,否则执行默认的CPropertyPage::OnOK()。
3、CPropertySheet和加载的CPropertyPage通信,可以在CPropertySheet中定义
CPPageContentMode* pCM=(CPPageContentMode*)this->GetPage(0);
然后利用pCM操作CPPageContentMode中的成员变量。
也可以在CPropertyPage中获取CPropertySheet的指针。
4、两个或多个加载的CPropertyPage之间通信,可以借助于CPropertySheet实现。
5、对CPropertySheet标准按钮的操作
(1)更改标准按钮的标题:
CWnd* pWnd=GetDlgItem(IDOK);
pWnd->SetWindowTextW(_T("开始"));
(2)去掉“应用”按钮:
pWnd=GetDlgItem(ID_APPLY_NOW);
pWnd->ShowWindow(FALSE);
(3)移动标准按钮至对话框中间
pPage=this->GetPage(0);
// CRect rectPage;
pPage->GetWindowRect(&rectPage);
CWnd* pWndOK=GetDlgItem(IDOK);
CWnd* pWndCancel=GetDlgItem(IDCANCEL);
CRect rectOK,rectCancel;
pWndOK->GetWindowRect(&rectOK);
pWndCancel->GetWindowRect(&rectCancel);
int BtnCenter=(rectCancel.right-rectOK.left)/2; // OK和CANCEL按钮中轴线
int PageCenter=(rectPage.right-rectPage.left)/2; //属性单的中轴线
int dist=PageCenter-BtnCenter;
rectOK.left+=dist;
rectOK.right+=dist;
rectCancel.left+=dist;
rectCancel.right+=dist;
ScreenToClient(&rectOK);
ScreenToClient(&rectCancel);
pWndOK->MoveWindow(&rectOK);
pWndCancel->MoveWindow(&rectCancel);
- 关于属性页和属性单的应用总结
- 属性单和属性页
- 关于MaxFileSize 属性的应用
- 关于单例的属性问题
- 关于Request.RawUrl属性的应用
- 关于android:clipChildren属性的应用
- 关于UIVIew的autoresizingMask属性的总结
- CSS: float属性和position属性的区别和应用
- 关于mysql中timestamp属性的总结
- 关于android的listview前端属性总结
- 关于ConstraintLayout的部分属性总结
- 关于Kriging算法的总结及其在三维属性建模方面的应用(草稿)
- 单文档的属性页Dialog设置
- android的系统属性设置和应用
- audio的应用和常见属性
- 关于字段和属性
- 关于DateTime的一些属性和方法
- 关于Name和Caption属性的理解
- 国际足坛因伤退役的八大天才(二)
- 国际足坛因伤退役的八大天才(三)
- 国际足坛因伤退役的八大天才(四)
- 国际足坛因伤退役的八大天才(五)
- 国际足坛因伤退役的八大天才(六)
- 关于属性页和属性单的应用总结
- 正负算法生成圆
- 矛盾的我
- 国际足坛因伤退役的八大天才(七)
- 发些c/c++/vc/驱动/网络安全的好书和资料
- 国际足坛因伤退役的八大天才(八)
- 国际足坛因伤退役的八大天才(九)
- 解决explorer.exe 应用程序出错 问题
- squid-2.6.STABLE1-之Web加速实做