📄 yctrls.h
字号:
#pragma once
#include "stdafx.h"
#define WM_LBUTTONCLICK (WM_USER + 1975)
#define WM_MOUSELEAVE (WM_USER + 1977)
typedef struct _CreateStyle
{
DWORD dwStyle;
DWORD dwExStyle;
}CREATESTYLE, *pCREATESTYLE;
typedef enum WINDOWSTATE{ WS_Y_NORMAL = 0, WS_Y_MAX, WS_Y_MIN, WS_Y_MAXSHOW, WS_Y_MAXHIDE, WS_Y_MOVE };
typedef enum FORMSTYLE{ FS_Y_DAILOG = 0, FS_FORM, FS_FULLSCREEN, FS_SCREENCLIENT, FS_SCREENCLIENT_NOMENU, FS_SCREENCENTER };
typedef enum CLASSID{ CID_Y_WIN = 1, CID_Y_FORM, CID_Y_BUTTON, CID_Y_CHECKBOX, CID_Y_RADIOBOX, CID_Y_LABEL, CID_Y_EDIT,
CID_Y_WORD, CID_Y_COMBOBOX, CID_Y_DATEBOX, CID_Y_TIMEBOX, CID_Y_PANEL, CID_Y_PAGE,
CID_Y_SCROLLBAR, CID_Y_TREEVIEW, CID_Y_LISTVIEW, CID_Y_LISTBOX };
#define MS_Y_UP 0x01
#define MS_Y_DOWN 0x02
#define MS_Y_MOVE 0x04
#define SKS_Y_ALT 0x01
#define SKS_Y_SHIFT 0x02
#define SKS_Y_CTRL 0x04
/*********************************************************************************************
* CWin *
* *
* YCode Y代码 YCtrl Y控件 Windows Mobile 透明控件 2008 YCtrl 1.0 *
* 作者:卢益贵 QQ:48092788 luyigui.blog.nnsky.com *
* *
**********************************************************************************************/
class CList;
class CWin
{
private:
protected:
CLASSID m_cidClassID;
WCHAR *m_pszText;
int m_nTextLen;
CWin *m_pOwner;
CWin *m_pParent;
CList *m_pCtrls;
HBITMAP m_hBitmap;
HDC m_hDC;
HWND m_hWnd;
int m_nLeft;
int m_nTop;
int m_nWidth;
int m_nHeigth;
WINDOWSTATE m_wsWinState;
RECT m_rcClientRect;
BOOL m_bEnabled;
BOOL m_bStretch;
HFONT m_hFont;
LOGFONT m_lFont;
HPEN m_hPen;
COLORREF m_clTextColor;
DWORD m_dwMouseState;
void CreateBitmap( void );
virtual void CreateStyle( pCREATESTYLE pCreateStyle );
virtual void OnCreated( void );
static LRESULT CALLBACK WinProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
virtual void OnDraw( void );
virtual void OnPaint( HDC hdc );
virtual void OnPaint( HWND hWnd );
virtual void OnPaint( void );
public:
CWin();
~CWin();
BOOL RegClass( LPCWSTR lpszClassName );
public:
BOOL Create( CWin *pOwner, CWin *pParent, HMENU hMenu, int nLeft, int nTop, int nWidth, int nHeigth,
LPCWSTR lpszClassName, LPCWSTR lpszCaption );
virtual LRESULT WindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
HWND GetHandle( void );
int GetLeft( void );
int GetTop( void );
int GetWidth( void );
int GetHeigth( void );
void SetPos( int nLeft, int nTop, int nWidth, int nHeigth );
void SetVisible( BOOL bVisible );
BOOL GetVisible( void );
void SetEnabled( BOOL bEnabled );
BOOL GetEnabled( void );
void SetStretch( BOOL bStretch );
BOOL GetStretch( void );
void SetParent( CWin *pParent );
CWin *GetParent( void );
CWin *GetOwner( void );
HFONT CreateFont( void );
LOGFONT GetFont( void );
void SetFont( LOGFONT * lFont );
COLORREF GetTextColor( void );
void SetTextColor( COLORREF );
LPCWSTR GetText( void );
void SetText( LPCWSTR lpszText );
int GetTextLen( void );
void SetTextSize( int nSize );
void AddCtrl( CWin *pCtrl );
void DeleteCtrl( CWin *pCtrl );
int GetCtrlCount( void );
CWin *GetCtrl( int nIndex );
void GetCtrlBKGND( CWin *pCtrl, HDC hdc );
void ChangeSkin( void );
void Invalidate( void );
DWORD GetClassID( void );
};
/*********************************************************************************************
* CForm *
* *
* YCode Y代码 YCtrl Y控件 Windows Mobile 透明控件 2008 YCtrl 1.0 *
* 作者:卢益贵 QQ:48092788 luyigui.blog.nnsky.com *
* *
**********************************************************************************************/
class CForm : public CWin
{
private:
BOOL m_bOnMinQuit;
protected:
void OnDraw( void );
FORMSTYLE m_fsFormStyle;
void CreateStyle( pCREATESTYLE pCreateStyle );
public:
CForm();
~CForm();
public:
BOOL Create( HMENU hMenu, int nLeft, int nTop, int nWidth, int nHeigth, LPCWSTR lpszClassName, LPCWSTR lpszCaption );
void Show(int nCmdShow);
void SetFormStyle( FORMSTYLE fsFormStyle, BOOL bTop = FALSE );
LRESULT CForm::WindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
void SetOnMinQuit( BOOL bQuit );
};
/*********************************************************************************************
* CCtrl *
* *
* YCode Y代码 YCtrl Y控件 Windows Mobile 透明控件 2008 YCtrl 1.0 *
* 作者:卢益贵 QQ:48092788 luyigui.blog.nnsky.com *
* *
**********************************************************************************************/
class CCtrl : public CWin
{
private:
protected:
DWORD m_dwCtrlID;
DWORD m_dwTextAlign;
void DrawText( HDC hdc, RECT rc, LPCWSTR lpszText, DWORD dwTextAlign );
void CreateStyle( pCREATESTYLE pCreateStyle );
public:
CCtrl();
~CCtrl();
public:
BOOL Create( CWin *pOwner, CWin *pParent, DWORD dwCtrlID, int nLeft, int nTop, int nWidth, int nHeigth, LPCWSTR lpszClassName, LPCWSTR lpszCaption );
DWORD GetTextAlign( void );
void SetTextAlign( DWORD dwTextAlign );
};
/*********************************************************************************************
* CCtrl *
* *
* YCode Y代码 YCtrl Y控件 Windows Mobile 透明控件 2008 YCtrl 1.0 *
* 作者:卢益贵 QQ:48092788 luyigui.blog.nnsky.com *
* *
**********************************************************************************************/
class CBtt : public CCtrl
{
private:
protected:
COLORREF m_clColorNormal;
COLORREF m_clColorDown;
COLORREF m_clColorFocus;
void OnDraw( void );
void CreateStyle( pCREATESTYLE pCreateStyle );
public:
CBtt();
~CBtt();
public:
BOOL Create( CWin *pOwner, CWin *pParent, DWORD dwCtrlID, int nLeft, int nTop, int nWidth, int nHeigth, LPCWSTR lpszCaption );
LRESULT WindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
void SetColorNormal( COLORREF clColor );
void SetColorDown( COLORREF clColor );
void SetColorFocus( COLORREF clColor );
};
/*********************************************************************************************
* CCheckBox *
* *
* YCode Y代码 YCtrl Y控件 Windows Mobile 透明控件 2008 YCtrl 1.0 *
* 作者:卢益贵 QQ:48092788 luyigui.blog.nnsky.com *
* *
**********************************************************************************************/
class CCheckBox : public CBtt
{
private:
BOOL m_bChecked;
protected:
void OnDraw( void );
public:
CCheckBox();
~CCheckBox();
LRESULT WindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
void SetChecked( BOOL bChecked );
BOOL GetChecked( void );
public:
};
/*********************************************************************************************
* CRadioBox *
* *
* YCode Y代码 YCtrl Y控件 Windows Mobile 透明控件 2008 YCtrl 1.0 *
* 作者:卢益贵 QQ:48092788 luyigui.blog.nnsky.com *
* *
**********************************************************************************************/
class CRadioBox : public CBtt
{
private:
BOOL m_bChecked;
protected:
void OnDraw( void );
public:
CRadioBox();
~CRadioBox();
LRESULT WindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
void SetChecked( BOOL bChecked );
BOOL GetChecked( void );
public:
};
/*********************************************************************************************
* CLabel *
* *
* YCode Y代码 YCtrl Y控件 Windows Mobile 透明控件 2008 YCtrl 1.0 *
* 作者:卢益贵 QQ:48092788 luyigui.blog.nnsky.com *
* *
**********************************************************************************************/
class CLabel : public CCtrl
{
private:
protected:
void OnDraw( void );
public:
CLabel();
~CLabel();
public:
BOOL Create( CWin *pOwner, CWin *pParent, DWORD dwCtrlID, int nLeft, int nTop, int nWidth, int nHeigth, LPCWSTR lpszCaption );
void SetWordWrap( BOOL bIsWrap );
};
/*********************************************************************************************
* CPanel *
* *
* YCode Y代码 YCtrl Y控件 Windows Mobile 透明控件 2008 YCtrl 1.0 *
* 作者:卢益贵 QQ:48092788 luyigui.blog.nnsky.com *
* *
**********************************************************************************************/
class CPanel : public CCtrl
{
private:
BOOL m_bIsGroup;
COLORREF m_clBorderColor;
protected:
void OnDraw( void );
public:
CPanel();
~CPanel();
public:
BOOL Create( CWin *pOwner, CWin *pParent, DWORD dwCtrlID, int nLeft, int nTop, int nWidth, int nHeigth, LPCWSTR lpszCaption );
void SetStyle( BOOL bIsGroup );
void SetBorderColor( COLORREF clColor );
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -