在SDI/MDI程序的工具条上加入漂亮的标题头

发表于:2007-07-01来源:作者:点击数: 标签:
摘要 此代码用来为SDI程序快速的加入一个漂亮的标题窗口,代码是不难,属于初级水平。在源代码中有一些注释,即使是对于初学者也很容易明白。这个标题窗口支持不同颜色的文字,文字阴影,背景,字体的尺寸和类型,字体在窗口中的位置等。同时也支持背景的渐




摘要
  此代码用来为SDI程序快速的加入一个漂亮的标题窗口,代码是不难,属于初级水平。在源代码中有一些注释,即使是对于初学者也很容易明白。这个标题窗口支持不同颜色的文字,文字阴影,背景,字体的尺寸和类型,字体在窗口中的位置等。同时也支持背景的渐变色背景。

代码的使用
  CHeaderToolbar类从CToolBar类派生,当你创建一个工具条时,重要的调用SetDrawRect(Rect)函数,演示如下:

  CRect Size;

  Size.SetRect(0,0,0,30);

  if (!m_headerdefault.CreateEx(this, TBSTYLE_TRANSPARENT , WS_CHILD | WS_VISIBLE | CBRS_TOP, Size))
  {
    TRACE0("Failed to create headern");
  }

  //The rect is transparent, until you set the drawrect...
  m_headerdefault.SetDrawRect(Size);
rect只用来设置高度。如果成功创建,将得到一个具有默认颜色的标题头。为了具有更多的特色,你可以使用下面这些函数: 

  //Background
  void SetDrawRect(CRect Rect); //Required, or else the toolbar is transparent
  void SetGradient(BOOL Activate); //TRUE OR FALSE
  void SetGradientStartColor(COLORREF GradientStart); //This also sets the default color when gradient is off
  void SetGradientEndColor(COLORREF GradientEnd); //End gradient color

  //Text
  void SetWindowText(CString InputText); //Outputtext on screen
  void GetWindowText(CString &OutputText); //Returns current text
  void SetFont(CString FontName); //Set the font name (as text)
  void SetFontSize(int NewSize); //Set the point-size
  void SetTextCol(COLORREF Col); //Set the text color
  void SetTextShadowCol(COLORREF Col); //Sets the color of the shadow
  void SetPlaceMent(int Place); //DT_LEFT, DT_CENTER and DT_RIGHT is available options. (MSDN: CDC -> DrawText())
每一次你使用不同的函数为标题头设置不同的风格,标题头都会刷新一次。

原文转自:http://www.ltesting.net