• 大小: 2.27MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-11-06
  • 语言: C/C++
  • 标签: 加文字  

资源简介

自定义位图按钮加文字 MFC CbuttonST完美封装类 可以直接移植使用,图片按钮,加上文字也可,完美显示。图片可以是bmp和ICO

资源截图

代码片段和文件信息

//   Modified by jingzhou xu Add background color support
//

#include “stdafx.h“
#include “BtnST.h“

#ifdef BTNST_USE_SOUND
#pragma comment(lib “winmm.lib“)
#include 
#endif

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CButtonST

// Mask for control‘s type
#define BS_TYPEMASK SS_TYPEMASK

#ifndef TTM_SETtitle
#define TTM_SETtitleA           (WM_USER + 32)  // wParam = TTI_* lParam = char* sztitle
#define TTM_SETtitleW           (WM_USER + 33)  // wParam = TTI_* lParam = wchar* sztitle
#ifdef UNICODE
#define TTM_SETtitle            TTM_SETtitleW
#else
#define TTM_SETtitle            TTM_SETtitleA
#endif
#endif

CButtonST::CButtonST()
{
m_bIsPressed = FALSE;
m_bIsFocused = FALSE;
m_bIsDisabled = FALSE;
m_bMouseOnButton = FALSE;

FreeResources(FALSE);

// Default type is “flat“ button
m_bIsFlat = TRUE;
// Button will be tracked also if when the window is inactive (like Internet Explorer)
m_bAlwaysTrack = TRUE;
  
// By default draw border in “flat“ button 
m_bDrawBorder = TRUE; 
  
// By default icon is aligned horizontally
m_byAlign = ST_ALIGN_HORIZ; 

// By default use usual pressed style
SetPressedstyle(BTNST_PRESSED_LEFTRIGHT FALSE);
  
// By default for “flat“ button don‘t draw the focus rect
m_bDrawFlatFocus = FALSE;

// By default the button is not the default button
m_bIsDefault = FALSE;
// Invalid value since type still unknown
m_nTypestyle = BS_TYPEMASK;

// By default the button is not a checkbox
m_bIsCheckBox = FALSE;
m_nCheck = 0;

// Set default colors
SetDefaultColors(FALSE);

// No tooltip created
m_ToolTip.m_hWnd = NULL;
m_dwToolTipstyle = 0;

// Do not draw as a transparent button
m_bDrawTransparent = FALSE;
m_pbmpOldBk = NULL;

// No URL defined
SetURL(NULL);

// No cursor defined
m_hCursor = NULL;

// No associated menu
#ifndef BTNST_USE_BCMENU
m_hMenu = NULL;
#endif
m_hParentWndMenu = NULL;
m_bMenuDisplayed = FALSE;

m_bShowDisabledBitmap = TRUE;

m_ptImageOrg.x = 3;
m_ptImageOrg.y = 3;

// Initialize background color jingzhou xu
m_clrBkColor = m_crColors[BTNST_COLOR_BK_OUT];

// No defined callbacks
::ZeroMemory(&m_csCallbacks sizeof(m_csCallbacks));

#ifdef BTNST_USE_SOUND
// No defined sounds
::ZeroMemory(&m_csSounds sizeof(m_csSounds));
#endif
} // End of CButtonST

CButtonST::~CButtonST()
{
// Restore old bitmap (if any)
if (m_dcBk.m_hDC && m_pbmpOldBk)
{
m_dcBk.Selectobject(m_pbmpOldBk);
} // if

FreeResources();

// Destroy the cursor (if any)
if (m_hCursor) ::DestroyCursor(m_hCursor);

// Destroy the menu (if any)
#ifdef BTNST_USE_BCMENU
if (m_menuPopup.m_hMenu) m_menuPopup.DestroyMenu();
#else
if (m_hMenu) ::DestroyMenu(m_hMenu);
#endif
} // End of ~CButtonST

BEGIN_MESSAGE_

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2012-08-30 09:11  按钮添加文字和图片\
     目录           0  2012-08-30 16:34  按钮添加文字和图片\核心实例1 图标按钮\
     文件       59750  2010-10-18 18:28  按钮添加文字和图片\核心实例1 图标按钮\BtnST.cpp
     文件        9972  2010-10-18 18:28  按钮添加文字和图片\核心实例1 图标按钮\BtnST.h
     目录           0  2012-08-30 10:52  按钮添加文字和图片\核心实例1 图标按钮\Debug\
     文件       89088  2012-08-30 09:12  按钮添加文字和图片\核心实例1 图标按钮\Debug\BtnST.obj
     文件      143461  2012-08-30 10:52  按钮添加文字和图片\核心实例1 图标按钮\Debug\IconButton.exe
     文件      329008  2012-08-30 10:52  按钮添加文字和图片\核心实例1 图标按钮\Debug\IconButton.ilk
     文件       14361  2012-08-30 10:52  按钮添加文字和图片\核心实例1 图标按钮\Debug\IconButton.obj
     文件     5491696  2012-08-30 09:12  按钮添加文字和图片\核心实例1 图标按钮\Debug\IconButton.pch
     文件      451584  2012-08-30 10:52  按钮添加文字和图片\核心实例1 图标按钮\Debug\IconButton.pdb
     文件       11284  2012-08-30 09:12  按钮添加文字和图片\核心实例1 图标按钮\Debug\IconButton.res
     文件       24629  2012-08-30 10:52  按钮添加文字和图片\核心实例1 图标按钮\Debug\IconButtonDlg.obj
     文件      105715  2012-08-30 09:12  按钮添加文字和图片\核心实例1 图标按钮\Debug\StdAfx.obj
     文件      205824  2012-08-30 10:52  按钮添加文字和图片\核心实例1 图标按钮\Debug\vc60.idb
     文件      380928  2012-08-30 10:52  按钮添加文字和图片\核心实例1 图标按钮\Debug\vc60.pdb
     文件       29916  2012-08-30 09:12  按钮添加文字和图片\核心实例1 图标按钮\IconButton.aps
     文件        2119  2010-10-18 18:28  按钮添加文字和图片\核心实例1 图标按钮\IconButton.cpp
     文件        4420  2010-10-18 18:28  按钮添加文字和图片\核心实例1 图标按钮\IconButton.dsp
     文件         545  2010-10-18 18:28  按钮添加文字和图片\核心实例1 图标按钮\IconButton.dsw
     文件        1368  2010-10-18 18:28  按钮添加文字和图片\核心实例1 图标按钮\IconButton.h
     文件       91136  2012-08-30 16:34  按钮添加文字和图片\核心实例1 图标按钮\IconButton.ncb
     文件       55808  2012-08-30 16:34  按钮添加文字和图片\核心实例1 图标按钮\IconButton.opt
     文件        1209  2012-08-30 10:52  按钮添加文字和图片\核心实例1 图标按钮\IconButton.plg
     文件        5415  2010-10-18 18:28  按钮添加文字和图片\核心实例1 图标按钮\IconButton.rc
     文件        4275  2012-08-30 10:52  按钮添加文字和图片\核心实例1 图标按钮\IconButtonDlg.cpp
     文件        1427  2012-08-30 10:52  按钮添加文字和图片\核心实例1 图标按钮\IconButtonDlg.h
     文件        3651  2010-10-18 18:28  按钮添加文字和图片\核心实例1 图标按钮\ReadMe.txt
     文件         733  2010-10-18 18:28  按钮添加文字和图片\核心实例1 图标按钮\Resource.h
     文件         212  2010-10-18 18:28  按钮添加文字和图片\核心实例1 图标按钮\StdAfx.cpp
     文件        1054  2010-10-18 18:28  按钮添加文字和图片\核心实例1 图标按钮\StdAfx.h
............此处省略4个文件信息

评论

共有 条评论

相关资源