• 大小: 2.72MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-14
  • 语言: C/C++
  • 标签: 按钮贴图  

资源简介

实现MFC按钮美化的源码案例,包含各种样式的按钮贴图,ico BMP 等,点击按钮发出声音多功能的实现

资源截图

代码片段和文件信息

//*************************************************************************
// BCMenu.cpp : implementation file
// Version : 3.02
// Date : March 2002
// Author : Brent Corkum
// Email :  corkum@rocscience.com
// Latest Version : http://www.rocscience.com/~corkum/BCMenu.html
// 
// Bug Fixes and portions of code supplied by:
//
// Ben AshleyGirish BharadwajJean-Edouard Lachand-Robert
// Robert Edward CaldecottKenny GoersLeonardo Zide
// Stefan KuhrReiner JungMartin VladicKim Yoo Chul
// Oz SolomonovichTongzhe CuiStephane ClogWarren Stevens
// Damir ValiulinDavid KinderMarc Loiry
//
// You are free to use/modify this code but leave this header intact.
// This class is public domain so you are free to use it any of
// your applications (FreewareSharewareCommercial). All I ask is
// that you let me know so that if you have a real winner I can
// brag to my buddies that some of my code is in your app. I also
// wouldn‘t mind if you sent me a copy of your application since I
// like to play with new stuff.
//*************************************************************************

#include “stdafx.h“        // Standard windows header file
#include “BCMenu.h“        // BCMenu class declaration
#include        //SK: makes A2W and other spiffy AFX macros work

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

#define BCMENU_GAP 1
#ifndef OBM_CHECK
#define OBM_CHECK 32760 // from winuser.h
#endif

#if _MFC_VER <0x400
#error This code does not work on Versions of MFC prior to 4.0
#endif

static CPINFO CPInfo;
// how the menu‘s are drawn in win9x/NT/2000
UINT BCMenu::original_drawmode=BCMENU_DRAWMODE_ORIGINAL;
BOOL BCMenu::original_select_disabled=TRUE;
// how the menu‘s are drawn in winXP
UINT BCMenu::xp_drawmode=BCMENU_DRAWMODE_XP;
BOOL BCMenu::xp_select_disabled=FALSE;
BOOL BCMenu::xp_draw_3D_bitmaps=TRUE;

CImageList BCMenu::m_AllImages;
CArray BCMenu::m_AllImagesID;

enum Win32Type{
Win32s
WinNT3
Win95
Win98
WinME
WinNT4
Win2000
WinXP
};


Win32Type IsShellType()
{
Win32Type  ShellType;
DWORD winVer;
OSVERSIONINFO *osvi;

winVer=GetVersion();
if(winVer<0x80000000){/*NT */
ShellType=WinNT3;
osvi= (OSVERSIONINFO *)malloc(sizeof(OSVERSIONINFO));
if (osvi!=NULL){
memset(osvi0sizeof(OSVERSIONINFO));
osvi->dwOSVersionInfoSize=sizeof(OSVERSIONINFO);
GetVersionEx(osvi);
if(osvi->dwMajorVersion==4L)ShellType=WinNT4;
else if(osvi->dwMajorVersion==5L&&osvi->dwMinorVersion==0L)ShellType=Win2000;
else if(osvi->dwMajorVersion==5L&&osvi->dwMinorVersion==1L)ShellType=WinXP;
free(osvi);
}
}
else if  (LOBYTE(LOWORD(winVer))<4)
ShellType=Win32s;
else{
ShellType=Win95;
osvi= (OSVERSIONINFO *)malloc(sizeof(OSVERSIONINFO));
if (osvi!=NULL){
memset(osvi0sizeof(OSVERSIONINFO));
osvi->dwOSVersionInfoSize=sizeof(OSVERSIONINFO);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      88816  2002-03-31 11:20  CButtonST_demo\BCMenu.cpp

     文件      16478  2002-03-31 11:20  CButtonST_demo\BCMenu.h

     文件      14076  2002-07-26 17:08  CButtonST_demo\BkDialogST.cpp

     文件       3712  2002-07-26 17:04  CButtonST_demo\BkDialogST.h

     文件      69988  2003-03-03 22:04  CButtonST_demo\BtnST.cpp

     文件      10401  2015-10-23 15:09  CButtonST_demo\BtnST.h

     文件     629364  2015-11-14 20:35  CButtonST_demo\CButtonST_Demo.aps

     文件       5490  2015-11-14 20:37  CButtonST_demo\CButtonST_Demo.clw

     文件        976  2001-10-13 17:36  CButtonST_demo\CButtonST_Demo.cpp

     文件      12144  2002-11-26 11:43  CButtonST_demo\CButtonST_Demo.dsp

     文件        551  2001-05-12 13:40  CButtonST_demo\CButtonST_Demo.dsw

     文件        933  2001-05-12 13:49  CButtonST_demo\CButtonST_Demo.h

     文件     353280  2015-11-14 20:37  CButtonST_demo\CButtonST_Demo.ncb

     文件      52736  2015-11-14 20:37  CButtonST_demo\CButtonST_Demo.opt

     文件       3316  2015-10-23 14:16  CButtonST_demo\CButtonST_Demo.plg

     文件      13266  2003-03-03 22:01  CButtonST_demo\CButtonST_Demo.rc

     文件       2237  2002-07-09 08:56  CButtonST_demo\CButtonST_DemoDlg.cpp

     文件       1067  2001-05-12 14:14  CButtonST_demo\CButtonST_DemoDlg.h

     文件       8684  2001-12-03 16:54  CButtonST_demo\CeXDib.cpp

     文件       2328  2001-12-04 10:23  CButtonST_demo\CeXDib.h

     文件        659  2002-11-25 14:05  CButtonST_demo\Disclaimer.txt

     文件       1451  2002-04-17 16:20  CButtonST_demo\DlgAbout.cpp

     文件        895  2001-05-13 18:25  CButtonST_demo\DlgAbout.h

     文件       3777  2002-07-22 15:21  CButtonST_demo\DlgAdvanced.cpp

     文件       1248  2002-07-02 13:26  CButtonST_demo\DlgAdvanced.h

     文件       3806  2002-11-27 13:47  CButtonST_demo\DlgBasic.cpp

     文件       1175  2001-10-13 17:45  CButtonST_demo\DlgBasic.h

     文件       3044  2002-04-18 08:39  CButtonST_demo\DlgShadeButtonST.cpp

     文件        964  2001-06-14 18:47  CButtonST_demo\DlgShadeButtonST.h

     文件       2946  2002-11-27 13:53  CButtonST_demo\DlgTransparent.cpp

............此处省略84个文件信息

评论

共有 条评论

相关资源