使用属性对话框的一些经验

1.去掉Apply Now按钮
m_psh.dwFlags |= PSH_NOAPPLYNOW;
 
2.控制OK、Cancel、Appliy Now、Help按钮
很简单,它们的ID分别为
IDOK、IDCANCEL、ID_APPLY_NOW、IDHELP 
 
3.将属性页上所有的控件都映射到一个值的成员变量上去,这样才能在对控件进行初始化,才能在属性对话框关闭但还没销毁时获取控件的值

4.从一个Page传递消息到其它Page
该Page调用QuerySiblings((WPARAM)sth1, (LPARAM)sth2);

然后在想接受和处理该消息的Page中添加对事件PSM_QUERYSIBLINGS的处理函数,具体如下:
afx_msg BOOL OnQuerySiblings(WPARAM wParam, LPARAM lParam);
ON_MESSAGE(PSM_QUERYSIBLINGS, OnQuerySiblings)
BOOL COnePage::OnQuerySiblings(WPARAM wParam, LPARAM lParam)
{
}
若若该函数返回非零值,则消息传递就停止了
 
5.设置PropertyPage标题的三种方法
(1)创建时传入字符串资源ID
m_pPage1 = new  CMyPropertyPage(IDS_MYCAPTION);
(2)修改CPropertyPage.m_psp
m_pPage1->m_psp.dwFlags |= PSP_USETITLE;
m_pPage1->m_psp.pszTitle = _T("My Caption");
注意:这种修改只能在CPropertySheet的Create和DoModal之前进行;
          如果是从文件中读出一个字符串来进行设置,最好把这个字符串放在一个静态字符数组里面,例如
static char strTitle[32];
m_pPage1->m_psp.pszTitle = strTitle;
(3)CTabCtrl::SetItem()
CTabCtrl* pTab = GetTabControl();
TC_ITEM ti;
ti.mask = TCIF_TEXT;
ti.pszText = pszText;
pTab->SetItem (nPage, &ti);
注意:这种方法可以在CPropertySheet的实例被创建之后进行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值