资源简介
CButtonST非常强大的按钮控件,V3.9是最后一个免费版本。由于作者发表的使用vc6.0编译,在用vs2012重新编译时有诸多小错误,特进行了修正。编译、运行ok。
代码片段和文件信息
//*************************************************************************
// 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);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 88961 2013-10-12 22:57 CButtonST V3.9\BCMenu.cpp
文件 16478 2002-03-31 11:20 CButtonST V3.9\BCMenu.h
文件 14076 2002-07-26 17:08 CButtonST V3.9\BkDialogST.cpp
文件 3712 2002-07-26 17:04 CButtonST V3.9\BkDialogST.h
文件 70126 2013-10-12 23:03 CButtonST V3.9\BtnST.cpp
文件 10401 2003-03-03 21:47 CButtonST V3.9\BtnST.h
文件 615272 2013-10-12 23:34 CButtonST V3.9\CButtonST_Demo.aps
文件 5461 2003-03-03 22:18 CButtonST V3.9\CButtonST_Demo.clw
文件 976 2001-10-13 17:36 CButtonST V3.9\CButtonST_Demo.cpp
文件 933 2001-05-12 13:49 CButtonST V3.9\CButtonST_Demo.h
文件 125952 2009-04-25 22:44 CButtonST V3.9\CButtonST_Demo.ncb
文件 48640 2003-03-03 22:19 CButtonST V3.9\CButtonST_Demo.opt
文件 13383 2013-10-12 23:26 CButtonST V3.9\CButtonST_Demo.rc
文件 1363 2013-10-12 22:23 CButtonST V3.9\CButtonST_Demo.sln
..A..H. 9216 2009-04-25 22:44 CButtonST V3.9\CButtonST_Demo.suo
..A..H. 51712 2013-10-12 23:35 CButtonST V3.9\CButtonST_Demo.v11.suo
文件 26690 2009-04-25 22:43 CButtonST V3.9\CButtonST_Demo.vcproj
文件 28742 2013-10-12 23:31 CButtonST V3.9\CButtonST_Demo.vcxproj
文件 9690 2013-10-12 22:37 CButtonST V3.9\CButtonST_Demo.vcxproj.filters
文件 2237 2002-07-09 08:56 CButtonST V3.9\CButtonST_DemoDlg.cpp
文件 1067 2001-05-12 14:14 CButtonST V3.9\CButtonST_DemoDlg.h
文件 8684 2001-12-03 16:54 CButtonST V3.9\CeXDib.cpp
文件 2328 2001-12-04 10:23 CButtonST V3.9\CeXDib.h
文件 659 2002-11-25 14:05 CButtonST V3.9\Disclaimer.txt
文件 1451 2002-04-17 16:20 CButtonST V3.9\DlgAbout.cpp
文件 895 2001-05-13 18:25 CButtonST V3.9\DlgAbout.h
文件 3777 2002-07-22 15:21 CButtonST V3.9\DlgAdvanced.cpp
文件 1248 2002-07-02 13:26 CButtonST V3.9\DlgAdvanced.h
文件 3806 2002-11-27 13:47 CButtonST V3.9\DlgBasic.cpp
文件 1175 2001-10-13 17:45 CButtonST V3.9\DlgBasic.h
............此处省略71个文件信息
相关资源
- MFC基于对话框的气体浓度检测系统
- 如何在Visual StudioVS里使用libsvm工具箱
- VS2012工程坦克大战
- 编译原理与技术李文生:LR分析法C+
- vs2012 mfc程序用Socket实现两台计算机间
- 亲测VC++ 编程助手 Vissual AssistX (VS
- C++_MFC的CButtonST含使用说明书及多个
- MFC 单文档 模拟时钟 VS2012
- VS2012 + Opencv2.4.9实现单张人脸检测及人
- VS2012编写的简单计算器
- MFC对话框使用CEF浏览器内核vs2012可编
- VS2012 MFC下UDP通信
- 串口数据波形显示
- MATLAB2014a与vs2012混合编译解决使用li
- 用vs2012做ActiveX控件并使用html、c#、
- MFC按钮美化
- VS2012+MFC串口通信
- VS2012 MFC小程序 简易网络聊天室
- gh0st3.6_vs2012
- 在VS2012上基于opencv的C++人眼识别与眨
- VS2012-C++编写、调用DLL库教程
- CButtonST按钮增强类可在VS2012直接使用
- CButtonST和CMenu类
- C++Primer第五版源代码-VS2012代码
- VS2012+MFC+串口通信的实现.
评论
共有 条评论