龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VC开发 >

VC++动态链接库(DLL)编程深入浅出(四)[组图](2)

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
导出一个类,直接在类声明头文件中使用AFX_EXT_CLASS即可,以下是导出CSXButton类的例子: #ifndef _SXBUTTON_H #define _SXBUTTON_H #define SXBUTTON_CENTER -1 class AFX_EXT_CLA

  导出一个类,直接在类声明头文件中使用AFX_EXT_CLASS即可,以下是导出CSXButton类的例子:

#ifndef _SXBUTTON_H
#define _SXBUTTON_H

#define SXBUTTON_CENTER -1

class AFX_EXT_CLASS CSXButton : public CButton
{
// Construction
public:
 CSXButton();

// Attributes
private:
 // Positioning
 BOOL  m_bUseOffset;   
 CPoint  m_pointImage;
 CPoint  m_pointText;
 int   m_nImageOffsetFromBorder;
 int   m_nTextOffsetFromImage;

 // Image
 HICON  m_hIcon;    
 HBITMAP  m_hBitmap;
 HBITMAP  m_hBitmapDisabled;
 int   m_nImageWidth, m_nImageHeight;

 // Color Tab
 char  m_bColorTab;   
 COLORREF m_crColorTab;

 // State
 BOOL  m_bDefault;
 UINT  m_nOldAction;
 UINT  m_nOldState;
 
// Operations
public:
 // Positioning
 int  SetImageOffset( int nPixels );
 int  SetTextOffset( int nPixels );
 CPoint SetImagePos( CPoint p );
 CPoint SetTextPos( CPoint p );

 // Image
 BOOL SetIcon( UINT nID, int nWidth, int nHeight );
 BOOL SetBitmap( UINT nID, int nWidth, int nHeight );
 BOOL SetMaskedBitmap( UINT nID, int nWidth, int nHeight, COLORREF crTransparentMask );
 BOOL HasImage() { return (BOOL)( m_hIcon != 0  | m_hBitmap != 0 ); }

 // Color Tab
 void SetColorTab(COLORREF crTab);

 // State
 BOOL SetDefaultButton( BOOL bState = TRUE );
private:
 BOOL SetBitmapCommon( UINT nID, int nWidth, int nHeight, COLORREF crTransparentMask, BOOL bUseMask );
 void CheckPointForCentering( CPoint &p, int nWidth, int nHeight );
 void Redraw();

// Overrides
 // ClassWizard generated virtual function overrides
 //{{AFX_VIRTUAL(CSXButton)
 public:
 virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
 //}}AFX_VIRTUAL

// Implementation
public:
 virtual ~CSXButton();

 // Generated message map functions
protected:
 //{{AFX_MSG(CSXButton)
 afx_msg LRESULT OnGetText(WPARAM wParam, LPARAM lParam);
 //}}AFX_MSG

 DECLARE_MESSAGE_MAP()
};

精彩图集

赞助商链接