很好的outlookbar控件CXTOutBarCtrl

该控件来源于Xtreme Toolkit,我对其进行了修改,使其不依赖于类库独立存在,由于我没有运用XT的其他类,可能你会觉得它没有在类库中的华丽,但相对于其小巧的体格而言,已经很难得了。

源文件包括两个头文件,两个执行文件:XTMemDC.h,XTMemDC.cpp,XTOutBarCtrl.h,XTOutBarCtrl.cpp.

其中XTMemDC是一个CDC继承类,用于辅助功能。

该控件的使用方法:

1、用mfc sdi wizard生成一个子SDI程序。

2、在MainFrm.h头部加入#include "XTOutBarCtrl.h"

3、在MainFrm.h是加入成员变量

CSplitterWnd  m_wndSplitter;
CXTOutBarCtrl  m_wndOutlookBar;
CImageList  m_ImageLarge;
CImageList  m_ImageSmall;
bool    m_bDestroy;

4、CMainFrame增加消息映射函数

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
  // create splitter window
  if (!m_wndSplitter.CreateStatic(this, 1, 2))
    return FALSE;
  // Here we create the outbar control using the splitter as its parent
  // and setting its id to the first pane.
  if (!m_wndOutlookBar.Create(WS_CHILD|WS_VISIBLE|WS_CLIPCHILDREN, CRect(0,0,0,0),
    &m_wndSplitter, m_wndSplitter.IdFromRowCol(0, 0), OBS_XT_DEFAULT))
  {
    TRACE0("Failed to create outlook bar.");
    return FALSE;
  }
  if (!m_wndSplitter.CreateView(0, 1, pContext->m_pNewViewClass,
    CSize(100, 100), pContext))
  {
    m_wndSplitter.DestroyWindow();
    return FALSE;
  }
  // Set the background and text color of the outlook bar.
  m_wndOutlookBar.SetBackColor(RGB(0x3a,0x6e,0xa5));
  m_wndOutlookBar.SetTextColor(RGB(0xff,0xff,0xff));
  // Set the default sizes for the splitter panes.
  CRect r;
  GetClientRect(&r);
  m_wndSplitter.SetColumnInfo( 0, r.Width()/4, 0 );
  m_wndSplitter.RecalcLayout();
  // Add items to the outlook bar.
  InitializeOutlookBar();
  return TRUE;
}

时间: 2024-05-25 19:25:50

很好的outlookbar控件CXTOutBarCtrl的相关文章

画图很好用的控件dotnetCHARTIN

最近发现一个很好用的控件 dotnetCHARTING ,画图真的很方便,而且功能很多,可以画各种各样的图 下面介绍一个我写的例子(c#) 1.在的 aspx 也面上添加 chart <div style="text-align:center;"> <dotnetCHARTING:Chart ID="Chart1" runat="server" Height="200px" Width="740px

一个很好的日历控件(采用javascript编写)

javascript|控件|日历  该日历控件采用js编写,来自MS的 http://expo.live.com,本站整理,希望对大家有用. 本程序中需要的两个图片:http://expo.live.com/http://www.webjx.com/htmldata/2006-04-04/Images/leftArrow.gifhttp://expo.live.com/http://www.webjx.com/htmldata/2006-04-04/Images/rightArrow.gif G

asp.net ajax 和 asp.net 2.0中的fileupload合力打造无刷新文件上传控件

ajax|asp.net|控件|上传|上传控件|刷新|无刷新 在做一个信息管理平台时用到了图片,就像做一个上传的正好用的是asp.net ajax就试着做了一个不很好 自定义用户控件文件 PicUpload.ascx 1<%@ control language="C#" autoeventwireup="true" inherits="Admin_PicUpload, App_Web_mboefw14" %>2 <asp:Ima

假乱真的表单控件:美化原生表单控件

文章描述:这样的模拟需要在兼顾实现设计的同时,还要保证网站的性能和可用性.这时我不禁开始怀念那些看起来平凡却非常实用的原生表单控件.如果用他们几乎可以解决以上所有问题. 在互联网成熟的今天,大家对网站的要求不仅仅在功能实现上,也开始注重视觉设计,多终端用户体验等等.表单控件是web页面上重要的组成元素,具有非常高的功能性.交互设计师为它设计更加方便的操作方式,视觉设计师也会绞尽脑汁设计出更加夺人眼球的视觉展现.可是由于表单控件自身的局限性,不能很好地自定义外表,所以就诞生了一系列的由聪明的前端同

ASP.NET 2.0中使用multiview控件

asp.net|控件     在asp.net 2.0中,增加了许多新的控件和功能,大大方便了开发者的开发.这次要讲解的是在asp.net 2.0中新增的multiview控件的使用.所谓multiview控件,实际上是有点象在c/s开发中很常见的tabcontrol控件,可以在一个页面中,放置多个"view"(我们称为选项卡),比如可以用multiview控件,可以让用户在同一页面中,通过切换到每个选项卡,从而看到要看的内容,而不用每次都重新打开一个新的窗口.本文,将以visual

ASP.NET AJAX入门系列(5):使用UpdatePanel控件(二)

UpdatePanel可以用来创建丰富的局部更新Web应用程序,它是ASP.NET 2.0 AJAX Extensions中很重要的一个控件,其强大之处在于不用编写任何客户端脚本,只要在一个页面上添加几个UpdatePanel控件和一个ScriptManager控件就可以自动实现局部更新.通过本文来学习一下UpdatePanel其他的一些使用方法(第二篇). 一.用编程的方法控制UpdatePanel的更新 对于UpdatePanel,我们也可以使用编程的方法来控制它的更新,可以通过Script

ASP.NET AJAX入门系列(4):使用UpdatePanel控件(一)

UpdatePanel可以用来创建丰富的局部更新Web应用程序,它是ASP.NET 2.0 AJAX Extensions中很重要的一个控件,其强大之处在于不用编写任何客户端脚本,只要在一个页面上添加几个UpdatePanel控件和一个ScriptManager控件就可以自动实现局部更新.通过本文来学习一下UpdatePanel简单的使用方法(第一篇). 一.UpdatePanel控件概述 UpdatePanel可以用来创建丰富的局部更新Web应用程序,它是ASP.NET 2.0 AJAX Ex

VC中自定义CRichEditCtrl控件

在VC中提供了两种很方便的编辑控件(CEdit 和CRichEditCtrl),一般来说这两种控件已经满足了我们大部分的需要,不过只有CEdit控件能响应我们鼠标右键消息,通过右键我们很容易的操作我们的编辑,而在CRichEditCtrl控件中我们不能得到这样的操作,同时CRichEditCtrl是能够包含各种格式的内容,就好像Word一样能够写入各种不同的字体,不过CRichEditCtrl没有给我们提供这样的要求,今天我的目的也就是给他添加这样的扩展操作. 本代码运行效果图 一. 首先我们要

asp.net ajax和asp.net 2.0中的fileupload打造无刷新文件上传控件

在做一个信息管理平台时用到了图片,就像做一个上传的正好用的是asp.net ajax就试着做了一个不很好 自定义用户控件文件 PicUpload.ascx 1<%@ control language="C#" autoeventwireup="true" inherits="Admin_PicUpload, App_Web_mboefw14" %>2 <asp:Image ID="EP_Image" runa