如何使用CDialogbar

               如何使用CDialogbar

发现用VC做界面的确是烦的可以。不过性能倒是不错的。

这里的CDialogBar,一开始的时候让我误解了好一阵子,叫这么个名,让我认定他是用来放CDialog的。就好像把dialog当成一个control一样往上堆。心想这玩意好啊,有了它tab也可以不要了,propertysheet也可以不要了。。
虽然找遍它的member都没有发现有类似tab的那种add的功能。。

我是属于醒悟的很晚的了。MSDN里那句原话忘记了,大概意思就是CDialogBar是一种用来放置Control的派生自controlBar的东西。
我的理解是这样的:它比dialog多了停靠功能,比toolbar多了能放置复杂控件例如树啊列表啊这类东西的功能。

言归正传,现在开始来说它怎么使用:
1.在资源里添加一个cdialogbar.注意如果添加cdialog是不可以的(为什么我就不知道了)。
2.编辑成想要的模样,利用向导对它生成一个类。向导里是不能直接派生自CDialogBar的,所以派生CDialog
3.下面开始更改这两个自动生成的文件,让它变成一个CDialogBar吧.
首先把所有Cdialog改成CDialogBar,注意构造函数派生父类参数不同,也需要改
然后把virtual BOOL OnInitDialog();改成:afx_msg LONG OnInitDialog ( UINT, LONG );
在消息映射处添加:ON_MESSAGE(WM_INITDIALOG, OnInitDialog )
  BEGIN_MESSAGE_MAP(CMyDlgBar, CDialogBar)
  ON_MESSAGE(WM_INITDIALOG, OnInitDialog )
  END_MESSAGE_MAP()
  把OnInitDialog函数改成如下:
{
    BOOL bRet = HandleInitDialog(wParam, lParam);
    if (!UpdateData(FALSE))//这里是用来调用doDataExchange()
    {
       TRACE0("Warning: UpdateData failed during dialog init./n");
    }
    return bRet;
}
然后,在使用的时候,直接create就可以了。
m_myDlgBar.Create(this, IDD_DLGBAR1, CBRS_LEFT,IDD_DLGBAR1)

 

转自:http://qoitaaxb.spaces.live.com/?_c11_BlogPart_pagedir=Last&_c11_BlogPart_BlogPart=blogview&_c=BlogPart

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值