CDockablePane的测试

本文介绍了如何在CMainFrame类的OnCreate方法中实例化CDockablePane,并演示了如何在其上添加CDialog、CComboBox及CMFCPropertyGridCtrl等控件。此外,还详细说明了如何使用CMFCPropertyGridCtrl添加属性及其子项。
如何建立CDockablePane


要在CMainFrame类的OnCreate中实例化CDockablePane
m_pPropWnd->Create( TEXT("Properties"),
this,
CRect(10, 10, 200, 500),
TRUE,
1001,
WS_VISIBLE  | CBRS_FLOAT_MULTI | WS_CHILD | CBRS_TOP,
AFX_CBRS_REGULAR_TABS,
AFX_DEFAULT_DOCKING_PANE_STYLE,
NULL );
EnableDocking( CBRS_ALIGN_RIGHT);


可以在CDockablePane的派生类中声明一个CDialog,然后在OnCreate方法中创建Dialog,这个Dialog就与DockablePane关联(为之子类),覆盖在Pane上面。
if( !m_TestDlg.Create(IDD_DIALOG_DOCKDLG, this))
{
MessageBox(TEXT("未能创建选项卡窗口"));
return -1;
}
m_TestDlg.ShowWindow( SW_SHOW );


也可以在Pane上创建其他控件,比如CComboBox:
m_pCcbComBox->Create( CBS_DROPDOWN | WS_CHILD | WS_VISIBLE, CRect(5, 0, 195, 60 ), this, 1002 );
m_pCcbComBox->AddString(TEXT("test1"));
m_pCcbComBox->AddString(TEXT("test2"));


比如:CMFCPropertyGridCtrl:
m_pPropertyGrid->Create( WS_VISIBLE | WS_CHILD, CRect( 5, 65, 195, 300 ), this, 1003 );
当然也可以给这个CMFCPropertyGridCtrl添加属性:
CMFCPropertyGridProperty * pProp = new CMFCPropertyGridProperty( TEXT("test"),3 );//这样就添加了一个test属性(这样就添加了一个属性页)(注意是属性页而非属性,是可以有+号扩展的)
当然可以给这个test添加下一级的项,比如添加font属性:
LOGFONT lf;
CMFCPropertyGridFontProperty *pProp1 = new CMFCPropertyGridFontProperty( TEXT("font"), lf );
pProp->AddSubItem( pProp1 );
m_pPropertyGrid->AddProperty( pProp );
最后是要把属性,或者是属性项添加到相应的父标签下的(由代码中可以看出,有些是AddProperty,有些是AddSubItem)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值