资源简介
自定义位图按钮加文字 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个文件信息
评论
共有 条评论