流云

风驰影跃长 月映霜华裳
随笔 - 23, 文章 - 6, 评论 - 53, 引用 - 0

导航

<2008年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

留言簿(0)

随笔分类

随笔档案

文章分类

文章档案

相册

收藏夹

东观沧海

云散之处

搜索

最新评论

阅读排行榜

评论排行榜

属性页(PropertyPage)

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行有注释符的代码前的注释符去掉
}

posted on 2005-12-21 09:04 流云 阅读(3495) 评论(5)  编辑 收藏

评论

# re: 属性页(PropertyPage)

支持,好好总结一下,到时我来收藏赚分去^_^
2005-12-21 09:13 | zuilang

# re: 属性页(PropertyPage)

别拉了我那份喔:E
2005-12-21 09:17 | 流云

# re: 属性页(PropertyPage)

你是 X# 吧?好久没见你露面了.呵呵
2005-12-21 21:28 | hatemath

# re: 属性页(PropertyPage)

看了你的msn页面,果然是你呵,XSharp. ^_^
2005-12-21 21:42 | HateMath

# re: 属性页(PropertyPage)

嘿嘿,偶也好久没看到你罗^_^
2005-12-23 19:26 | 流云
标题  
姓名  
主页
验证码 *
内容   
  登录  使用高级评论  Top
[使用Ctrl+Enter键可以直接提交]