下载 >  开发技术 >  C++ > XPButton控件

XPButton控件 评分:

#ifndef _BTNST_H #define _BTNST_H // Uncomment the following line to enable support for sound effects #define BTNST_USE_SOUND #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 // Return values #ifndef BTNST_OK #define BTNST_OK 0 #endif #ifndef BTNST_INVALIDRESOURCE #define BTNST_INVALIDRESOURCE 1 #endif #i fndef BTNST_FAILEDMASK #define BTNST_FAILEDMASK 2 #endif #ifndef BTNST_INVALIDINDEX #define BTNST_INVALIDINDEX 3 #endif #ifndef BTNST_INVALIDALIGN #define BTNST_INVALIDALIGN 4 #endif #ifndef BTNST_BADPARAM #define BTNST_BADPARAM 5 #endif #ifndef BTNST_INVALIDPRESSEDSTYLE #define BTNST_INVALIDPRESSEDSTYLE 6 #endif // Dummy identifier for grayscale icon #ifndef BTNST_AUTO_GRAY #define BTNST_AUTO_GRAY (HICON)(0xffffffff - 1L) #endif class CXPButton : public CButton { public: CXPButton(); ~CXPButton(); enum { ST_ALIGN_HORIZ = 0, // Icon/bitmap on the left, text on the right ST_ALIGN_VERT, // Icon/bitmap on the top, text on the bottom ST_ALIGN_HORIZ_RIGHT, // Icon/bitmap on the right, text on the left ST_ALIGN_OVERLAP // Icon/bitmap on the same space as text }; enum { BTNST_COLOR_BK_IN = 0, // Background color when mouse is INside BTNST_COLOR_FG_IN, // Text color when mouse is INside BTNST_COLOR_BK_OUT, // Background color when mouse is OUTside BTNST_COLOR_FG_OUT, // Text color when mouse is OUTside BTNST_COLOR_BK_FOCUS, // Background color when the button is focused BTNST_COLOR_FG_FOCUS, // Text color when the button is focused BTNST_MAX_COLORS }; enum { BTNST_PRESSED_LEFTRIGHT = 0, // Pressed style from left to right (as usual) BTNST_PRESSED_TOPBOTTOM // Pressed style from top to bottom }; // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CXPButton) public: virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct); virtual BOOL PreTranslateMessage(MSG* pMsg); protected: virtual void PreSubclassWindow(); //}}AFX_VIRTUAL public: DWORD SetDefaultColors(BOOL bRepaint = TRUE); DWORD SetColor(BYTE byColorIndex, COLORREF crColor, BOOL bRepaint = TRUE); DWORD GetColor(BYTE byColorIndex, COLORREF* crpColor); DWORD OffsetColor(BYTE byColorIndex, short shOffset, BOOL bRepaint = TRUE); // Background color support, jingzhou xu void SetBKColor(COLORREF clrBk); COLORREF GetBkColor(); DWORD SetCheck(int nCheck, BOOL bRepaint = TRUE); int GetCheck(); DWORD SetURL(LPCTSTR lpszURL = NULL); void DrawTransparent(BOOL bRepaint = FALSE); DWORD SetBk(CDC* pDC); BOOL GetDefault(); DWORD SetAlwaysTrack(BOOL bAlwaysTrack = TRUE); void SetTooltipText(int nText, BOOL bActivate = TRUE); void SetTooltipText(LPCTSTR lpszText, BOOL bActivate = TRUE); void ActivateTooltip(BOOL bEnable = TRUE); DWORD EnableBalloonTooltip(); DWORD SetBtnCursor(int nCursorId = NULL, BOOL bRepaint = TRUE); DWORD SetFlat(BOOL bFlat = TRUE, BOOL bRepaint = TRUE); DWORD SetAlign(BYTE byAlign, BOOL bRepaint = TRUE); DWORD SetPressedStyle(BYTE byStyle, BOOL bRepaint = TRUE); DWORD DrawBorder(BOOL bDrawBorder = TRUE, BOOL bRepaint = TRUE); DWORD DrawFlatFocus(BOOL bDrawFlatFocus, BOOL bRepaint = TRUE); DWORD SetIcon(int nIconIn, int nIconOut = NULL); DWORD SetIcon(HICON hIconIn, HICON hIconOut = NULL); DWORD SetBitmaps(int nBitmapIn, COLORREF crTransColorIn, int nBitmapOut = NULL, COLORREF crTransColorOut = 0); DWORD SetBitmaps(HBITMAP hBitmapIn, COLORREF crTransColorIn, HBITMAP hBitmapOut = NULL, COLORREF crTransColorOut = 0); void SizeToContent(); #ifdef BTNST_USE_BCMENU DWORD SetMenu(UINT nMenu, HWND hParentWnd, BOOL bWinXPStyle = TRUE, UINT nToolbarID = NULL, CSize sizeToolbarIcon = CSize(16, 16), COLORREF crToolbarBk = RGB(255, 0, 255), BOOL bRepaint = TRUE); #else DWORD SetMenu(UINT nMenu, HWND hParentWnd, BOOL bRepaint = TRUE); #endif DWORD SetMenuCallback(HWND hWnd, UINT nMessage, LPARAM lParam = 0); #ifdef BTNST_USE_SOUND DWORD SetSound(LPCTSTR lpszSound, HMODULE hMod = NULL, BOOL bPlayOnClick = FALSE, BOOL bPlayAsync = TRUE); #endif static short GetVersionI() {return 38;} static LPCTSTR GetVersionC() {return (LPCTSTR)_T("3.8");} BOOL m_bShowDisabledBitmap; POINT m_ptImageOrg; POINT m_ptPressedOffset; protected: //{{AFX_MSG(CXPButton) afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message); afx_msg void OnKillFocus(CWnd* pNewWnd); afx_msg void OnMouseMove(UINT nFlags, CPoint point); afx_msg void OnSysColorChange(); afx_msg BOOL OnClicked(); afx_msg void OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized); afx_msg void OnEnable(BOOL bEnable); afx_msg void OnCancelMode(); afx_msg UINT OnGetDlgCode(); //}}AFX_MSG #ifdef BTNST_USE_BCMENU afx_msg LRESULT OnMenuChar(UINT nChar, UINT nFlags, CMenu* pMenu); afx_msg void OnMeasureItem(int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct); #endif afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor); HICON CreateGrayscaleIcon(HICON hIcon); virtual DWORD OnDrawBackground(CDC* pDC, CRect* pRect); virtual DWORD OnDrawBorder(CDC* pDC, CRect* pRect); COLORREF m_clrBkColor; // Background color, jingzhou xu BOOL m_bIsFlat; // Is a flat button? BOOL m_bMouseOnButton; // Is mouse over the button? BOOL m_bDrawTransparent; // Draw transparent? BOOL m_bIsPressed; // Is button pressed? BOOL m_bIsFocused; // Is button focused? BOOL m_bIsDisabled; // Is button disabled? BOOL m_bIsDefault; // Is default button? BOOL m_bIsCheckBox; // Is the button a checkbox? BYTE m_byAlign; // Align mode BOOL m_bDrawBorder; // Draw border? BOOL m_bDrawFlatFocus; // Draw focus rectangle for flat button? COLORREF m_crColors[BTNST_MAX_COLORS]; // Colors to be used HWND m_hParentWndMenu; // Handle to window for menu selection BOOL m_bMenuDisplayed; // Is menu displayed ? #ifdef BTNST_USE_BCMENU BCMenu m_menuPopup; // BCMenu class instance #else HMENU m_hMenu; // Handle to associated menu #endif private: LRESULT OnSetCheck(WPARAM wParam, LPARAM lParam); LRESULT OnGetCheck(WPARAM wParam, LPARAM lParam); LRESULT OnSetStyle(WPARAM wParam, LPARAM lParam); LRESULT OnMouseLeave(WPARAM wParam, LPARAM lParam); void CancelHover(); void FreeResources(BOOL bCheckForNULL = TRUE); void PrepareImageRect(BOOL bHasTitle, RECT* rpItem, CRect* rpTitle, BOOL bIsPressed, DWORD dwWidth, DWORD dwHeight, CRect* rpImage); HBITMAP CreateBitmapMask(HBITMAP hSourceBitmap, DWORD dwWidth, DWORD dwHeight, COLORREF crTransColor); virtual void DrawTheIcon(CDC* pDC, BOOL bHasTitle, RECT* rpItem, CRect* rpCaption, BOOL bIsPressed, BOOL bIsDisabled); virtual void DrawTheBitmap(CDC* pDC, BOOL bHasTitle, RECT* rpItem, CRect* rpCaption, BOOL bIsPressed, BOOL bIsDisabled); virtual void DrawTheText(CDC* pDC, LPCTSTR lpszText, RECT* rpItem, CRect* rpCaption, BOOL bIsPressed, BOOL bIsDisabled); void PaintBk(CDC* pDC); void InitToolTip(); HCURSOR m_hCursor; // Handle to cursor CToolTipCtrl m_ToolTip; // Tooltip CDC m_dcBk; CBitmap m_bmpBk; CBitmap* m_pbmpOldBk; BOOL m_bAlwaysTrack; // Always hilight button? int m_nCheck; // Current value for checkbox UINT m_nTypeStyle; // Button style DWORD m_dwToolTipStyle; // Style of tooltip control TCHAR m_szURL[_MAX_PATH]; // URL to open when clicked #pragma pack(1) typedef struct _STRUCT_ICONS { HICON hIcon; // Handle to icon DWORD dwWidth; // Width of icon DWORD dwHeight; // Height of icon } STRUCT_ICONS; #pragma pack() #pragma pack(1) typedef struct _STRUCT_BITMAPS { HBITMAP hBitmap; // Handle to bitmap DWORD dwWidth; // Width of bitmap DWORD dwHeight; // Height of bitmap HBITMAP hMask; // Handle to mask bitmap COLORREF crTransparent; // Transparent color } STRUCT_BITMAPS; #pragma pack() #pragma pack(1) typedef struct _STRUCT_CALLBACK { HWND hWnd; // Handle to window UINT nMessage; // Message identifier WPARAM wParam; LPARAM lParam; } STRUCT_CALLBACK; #pragma pack() STRUCT_ICONS m_csIcons[2]; STRUCT_BITMAPS m_csBitmaps[2]; STRUCT_CALLBACK m_csCallbacks; #ifdef BTNST_USE_SOUND #pragma pack(1) typedef struct _STRUCT_SOUND { TCHAR szSound[_MAX_PATH]; LPCTSTR lpszSound; HMODULE hMod; DWORD dwFlags; } STRUCT_SOUND; #pragma pack() STRUCT_SOUND m_csSounds[2]; // Index 0 = Over 1 = Clicked #endif DECLARE_MESSAGE_MAP() }; //{{AFX_INSERT_LOCATION}} // Microsoft Developer Studio will insert additional declarations immediately before the previous line. #endif
...展开详情收缩
2012-05-09 上传大小:17KB
分享
收藏 (2) 举报
XPButton 控件Delphi专用版 v2.0..rar

XPButton 控件Delphi专用版 v2.0..rar

立即下载
XPButton控件源码下载版.rar

Delphi适用的XPButton控件源码,包括代码和部分实例,对于在Delphi7中使用XPButton控件的朋友来说,可参考这个源码,另外你也可下载这个版本的XPButton控件源码,保存起来方便你以后使用。本次下载的XPButton控件,包括有8种风格的按钮样式,每一个都是很漂亮的。

立即下载
xpbutton控件

xpbutton控件 unit XPButton; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, ActnList, StdCtrls, ImgList, XPButtonClass, ExtCtrls; type TXPButton = class(TCustomControl) private FButtonStyle : TButtonStyle ; FBorderColor: TColor; FBorderDraw : Bo

立即下载
c++ mfc 自定义绘制XP按钮,水晶按钮

由C++ MFC编写的自定义按钮,有鼠标滑动,按下,弹起等效果。完整的代码,编译通过

立即下载
XPButton控件及资料

利用XPButton类实现XP风格的按钮。此部分主要用到一个网上流传的类:XPButton

立即下载
xpbutton

国外资料\自定义控件\xpbutton

立即下载
XPButton

XPButton多种功能QQ:37046880zjx_sir@sina.com

立即下载
下载的几个自绘控件

BtnST CCheckSK XPButton XPGroupBox

立即下载
PB超级按钮 功能强大 界面美观

PB超级按钮 版本9.0 超完美的按钮,自定义设置即可,使用方便,功能强大,界面美观

立即下载
C++ 按钮美化

使用vc6.0做XPBUTTON ,是刚入门开发人员最好的选择。

立即下载
XPButton 的设置

XPButton 的设置 mfc 按钮美化 很好的,花费了我2周的时间才完成的 数据结构 c语言 MFC,是用MFC做的,,该程序功能强大,健壮性很强,对于错误输入有提示,程序完全正确,解压既可以运行

立即下载
xp样式的按钮xpbutton

供vb使用的xp样式的按钮xpbutton,附带源码。

立即下载
xpbutton Class Source code

完整的美化按钮类封装,使用简单。将普通按钮美化成xp按钮。使界面美观,大方.界面开发必备类.

立即下载
史上最全美化button大全

收集mfc各种美化button,全部代码及vc6下程序。XpButton flatButton shadowButton 按钮button 美化

立即下载
CEdit输入过滤实例

这个简单的小程序演示了在VC环境下如何对从CEdit控件的输入进行控制(该例子是仅允许输入标准的数值)。同时也演示XPButton这个类的用法。

立即下载
一个XP风格的Button XPButton

一个XP风格的Button,修正了CodeProject源码中的Bug,对显示文字和图片的大小位置等作了修正,对圆形的禁止状态作修正等,增加了一些功能,是开源中不可多得的按钮控件。

立即下载
vc+opengl实现的三维交汇图,可用鼠标交互

通过MagWnd、Test1和XpButton三个类实现三维交会图演示系统,其中XpButton类是为了实现按钮的位图显示以及字体显示等功能,其中也包含了一些来自网络的代码;MagWnd类则主要是为实现放大镜功能;其他视图的显示及OpenGL实现都在Test1中。

立即下载
XPButton使用例程+源码.rar(xp外观的按钮)

XPButton使用步骤:在对话框工程中加载XPButton.cpp和XPButton.h两个文件->在对话框窗体上添加一个按钮资源,为按钮添加一个变量,变量类型是CXPButton->完成。由于是使用资源数据交换,所以不用编码,只要完成上面3步就可以在VC里实现XP系统的按钮效果。当然研究源代码也有很大的学习意义。

立即下载
ajax控件ajax控件

ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件

立即下载
超高级的vb控件 教科书上不全的控件都在

Animation控件 Communications控件 CoolBar控件 Datarepeater控件 RepeatedControl控件 DateTimePicker控件 FlatScrollBar控件 ImageCombo控件 ImageList控件 Internet Transfer控件 ListView控件 MAPI控件 MaskedEdit控件 MonthView控件 MSChart控件 多媒体控件 PictureClip控件 ProgressBar控件 RichTextBox控件 Slider控件 StatusBar控件 SysInfo控件 Tabbed Dialog控件

立即下载

热点文章

img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
点击完成任务获取下载码
输入下载码
为了良好体验,不建议使用迅雷下载
img

XPButton控件

会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
1 0 0
为了良好体验,不建议使用迅雷下载
VIP和C币套餐优惠
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载
您还未下载过该资源
无法举报自己的资源

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

  • 举报人:
  • 被举报人:
  • *类型:
    • *投诉人姓名:
    • *投诉人联系方式:
    • *版权证明:
  • *详细原因: