⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 guianibutton.h

📁 HGE 2D游戏引擎制作的一个演示
💻 H
字号:
#pragma once
#include "GUI.h"

class GUIAniButton :
	public GUI
{
public:
	GUIAniButton(void);
	~GUIAniButton(void);

	static const int BUTTON_COUNT = 3;

	typedef enum
	{
		BUTTON_COMMON	= 0,
		BUTTON_HOVER	= 1,
		BUTTON_ACTIVATE	= 2
	}BUTTON_STATE;

protected:

	GUI*	m_pButton[BUTTON_COUNT];

	DWORD	m_dwCommandID;														///当前按钮的命令ID
	bool	m_bLButtonDown;
	bool	m_bContinueButton;													///连续按钮,按下过几个时间片后就持续发送按下消息
	bool	m_bSoonButton;														///是否立即生效按钮
	bool	m_bContinue;
	WORD	m_nCurFrame;

public:
	DWORD	m_dwDownTime;														///第一次鼠标按下等待多少时间开始连续按钮
public:
	///创建按钮
	bool CreateAniButton(DWORD dwCmdID,char* lpszName,char *szResName[BUTTON_COUNT],float w,float h,GUI* pParent);///默认3帧
	void SetContinueButton(bool bContinue);										///设置是否是连续按钮
	void SetSoonButton(bool bSoon);												///设置是否是立即生效按钮
	void SetButtonState(WORD nCurFrame);
public:
	virtual int OnMouseMoveIn(float x,float y);									///当鼠标移动进来,用这个函数通知,这一层可以高亮或动画等处理
	virtual void OnMouseMoveOut();												///当鼠标移动出去,通知,可结束高亮或者结束动画等。
	virtual int OnMouseLButton(float x,float y,bool down);						///左键按下松开
	virtual void OnMouseLButton(bool down);										///左键按下松开(在区域外)

	virtual void Render();
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -