📄 skinwin.h
字号:
// SkinWin.h: interface for the CSkinWin class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_SKINWIN_H__F010D322_E34F_4F9E_87E8_E76E9611942D__INCLUDED_)
#define AFX_SKINWIN_H__F010D322_E34F_4F9E_87E8_E76E9611942D__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "MyBitmap.h"
#include "Subclass.h"
class CSkinWin : public CSubclassWnd
{
public:
CString m_title;
CString m_strSkinFile; //skin definition file
CMyBitmap m_bmpTitle; //contains two bitmap;
CMyBitmap m_bmpLeft;
CMyBitmap m_bmpRight;
CMyBitmap m_bmpBottom;
CMyBitmap m_bmpMenubg;
CMyBitmap m_bmpDlg;
UINT m_oldHitTest;
UINT m_moveHitTest;
UINT m_downHitTest;
//offset in the bmp
int m_titleoff1, m_titleoff2;
int m_leftoff1, m_leftoff2;
int m_rightoff1, m_rightoff2;
int m_bottomoff1, m_bottomoff2;
CMyBitmap m_bmpMinBtn;
CMyBitmap m_bmpMaxBtn;
CMyBitmap m_bmpCloseBtn;
CMyBitmap m_bmpRestoreBtn;
CRect m_rectMinBtn;
CRect m_rectMaxBtn;
CRect m_rectCloseBtn;
CRect m_rectRestoreBtn;
CRect m_rectRestoreWin;
int m_winstate; //0 for normal, 1 for max, 2 for min
int m_oldwinstate; //save state before min
BOOL m_sizable;
BOOL m_minable;
BOOL m_maxable;
BOOL m_sysmenu;
int m_TitleHeight;
int m_BorderLeftWidth;
int m_BorderRightWidth;
int m_BorderBottomHeight;
int m_textShift, m_textShiftVer;
COLORREF m_colTitle1, m_colTitle2;
COLORREF m_colTrans;
COLORREF m_barcolor;
COLORREF m_menucolor;
COLORREF m_btnbgcolor, m_btntextcolor, m_btnhovercolor, m_btnfocuscolor;
BOOL m_bTrans;
BOOL m_bInit;
BOOL m_bActive;
public:
BOOL IsInited()
{
return m_bInit;
}
BOOL HandleSysCommand(WPARAM wp, LPARAM lp);
BOOL PopupSysMenu(CPoint point);
void OnSysCommand(UINT nID, LPARAM lParam );
BOOL Restore();
BOOL Minimize();
BOOL Maximize();
LRESULT OnSetText( WPARAM wp, LPARAM lp );
void OnActivate(UINT nState,CWnd* pWndOther, BOOL bMinimized );
CRect GetMaximizeRect();
BOOL OnEraseBkgnd( CDC *pDC);
void OnSizing( UINT nSide, LPRECT lpRect);
void OnWindowPosChanging( WINDOWPOS* lpwndpos );
void OnGetMinMaxInfo( MINMAXINFO* lpMMI );
BOOL DrawButton( CDC * pDC, int i, int state );
CRect GetButtonRect( int i );
void OnNcRButtonUp( UINT nHitTest, CPoint point);
void OnNcRButtonDown( UINT nHitTest, CPoint point );
void OnNcMouseMove( UINT nHitTest, CPoint point );
void OnNcLButtonUp( UINT nHitTest, CPoint point );
void OnNcLButtonDown( UINT nHitTest, CPoint point );
void OnNcLButtonDblClk( UINT nHitTest, CPoint point );
UINT OnNcHitTest( CPoint point );
BOOL OnNcActivate( BOOL bActive );
HRGN GetRegion( int w, int h);
void OnSize(UINT nType, int cx, int cy );
void OnNcCalcSize( BOOL bCalcValidRects, NCCALCSIZE_PARAMS* lpncsp);
void OnNcPaint( HRGN rgn );
BOOL InstallSkin( CWnd * wnd );
BOOL DrawFrame( CDC *pDC, int x, int y,int w, int h, int state, int title = 1 );
BOOL DrawRight(CDC *pDC, int x, int y, int h, int state);
BOOL DrawLeft(CDC *pDC, int x, int y, int h, int state);
BOOL DrawBottom(CDC *pDC, int x, int y, int w, int state);
BOOL DrawTitle( CDC *pDC, int x, int y, int w, int state );
CSkinWin();
CSkinWin( const char * skinfile )
{
CSkinWin();
LoadSkin( skinfile );
}
virtual ~CSkinWin();
//skinfile: full path name to skin inifile
BOOL LoadSkin( const char * skinfile );
//vitrual functions
virtual LRESULT WindowProc(UINT msg, WPARAM wp, LPARAM lp);
};
#endif // !defined(AFX_SKINWIN_H__F010D322_E34F_4F9E_87E8_E76E9611942D__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -