yjm0105 阅读(808) 评论(5)

1.弹出式Tab属性页

(1).新建2个对话框IDD_DIALOG1和IDD_DIALOG2,在上面随便放点什么控件之类的;用向导为它们添加类CPage1和CPage2,基类都是CPropertyPage.
(2).用向导添加新类CProSheet,基类为CPropertySheet,在ProSheet.h中加入
// ProSheet.h : header file
#include "Page1.h"
#include "Page2.h"
class CProSheet : public CPropertySheet
{
public:
   
CPage1 m_page1;//
    CPage2 m_page2;//
}
在CProSheet.cpp里两个构造函数处添加:
//CProSheet.cpp
CProSheet::CProSheet()
{
   
AddPage(&m_page1);
    AddPage(&m_page2);
}
CProSheet::CProSheet()
{
   
AddPage(&m_page1);
    AddPage(&m_page2);
}
(3).好了,现在可以在你想调用的地方调用这个属性页了:比如你想在C***::Fun()里调用,就在C***.cpp的顶部加入#include "ProSheet.h",然后
void C***::Fun()
{
 
CProSheet proSheet("属性页测试",this,0);
  proSheet.DoModal();
}这样,你调用Fun()的时候就可以看到效果了.

2.给CPropertySheet的页标上添加图标

Step1:创建或导入2个位图资源(假设16x16大小):IDB_BITMAP1,IDB_BITMAP2 用来做标签上的图标Step2:为CProSheet类(你从CPropertySheet派生的类)增加以下成员变量及函数
CImageList m_imageList;
void SetPageTitle(int nPage, int nImage, CString strTitle="");

Step3:
BOOL CProSheet::OnInitDialog()
{
 BOOL bResult = CProSheet::OnInitDialog(); 
 // TODO: Add your specialized code here  
 //建立图象列表
 m_imageList.Create(16, 16, ILC_COLORDDB | ILC_MASK, 0, 1);
 CBitmap bm1,bm2;

 
//载入位图资源
 
bm1.LoadBitmap(IDB_BITMAP1);
 bm2.LoadBitmap(IDB_BITMAP2);
 
 
//添加图象到列表
 
m_imageList.Add(&bm1, RGB(192, 192, 192));    //图标1
 m_imageList.Add(&bm2, RGB(192, 192, 192));    //图标2
 
 GetTabControl ()->SetImageList (&m_imageList);

  proSheet->SetPageTitle(0,0);    //属性页标签1加图标1
  proSheet->SetPageTitle(1,1);    
//属性页标签2加图标2

 return bResult;
}
step 4:
void CProSheet::SetPageTitle(int nPage, int nImage, CString strTitle)
{
 
TC_ITEM item;
 
//item.mask = TCIF_TEXT|TCIF_IMAGE;    //设置图标+文字
  item.mask = TCIF_IMAGE;       
 //只设置图标
  item.iImage = nImage;
 
// item.pszText = strTitle.GetBuffer(0);    //设置文字
  GetTabControl ()->SetItem (nPage, &item);
//要设置文字时就将上面2行有注释符的代码前的注释符去掉
}


评论列表
zuilang
re: 属性页(PropertyPage)
支持,好好总结一下,到时我来收藏赚分去^_^
hatemath
re: 属性页(PropertyPage)
你是 X# 吧?好久没见你露面了.呵呵
HateMath
re: 属性页(PropertyPage)
看了你的msn页面,果然是你呵,XSharp. ^_^
流云
re: 属性页(PropertyPage)
嘿嘿,偶也好久没看到你罗^_^

发表评论
切换编辑模式