?? gsui.h
字號(hào):
// GsUI.h: interface for the CGsUIPanel class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_GSUI_H__E68CAE40_5F5B_48DF_A021_BD5A7033C9B5__INCLUDED_)
#define AFX_GSUI_H__E68CAE40_5F5B_48DF_A021_BD5A7033C9B5__INCLUDED_
#include "GSLib.h" // Added by ClassView
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
enum _UI_CMD
{
UI_CMD_START = 0xBE00,
UI_CMD_CLICK,
UI_CMD_PRESS,
UI_CMD_DBCLK,
UI_CMD_END
};
typedef _UI_CMD UICMD;
class GSLIB_API CGsUIPanel
{
friend CGsEngine;
friend CGsGame;
public:
VOID PickScreenToClient(GPOINT &point);
BOOL IsVisible();
BOOL IsEnable();
BOOL IsWorking();
BOOL IsFocus() {return m_isFocus;}
public:
VOID SetTopMost();
VOID SetVisible(BOOL bVisible) {m_isVisible = bVisible;}
VOID SetEnable(BOOL bEnable);// {m_isEnable = bEnable;}
VOID SetFocus(BOOL bFocus=TRUE);
BOOL IsStyleChecked() {return m_is_checked_style;}
VOID SetStyleChecked(BOOL bStyleChecked) {m_is_checked_style = bStyleChecked;}
BOOL IsChecked() {return m_isChecked;}
VOID SetChecked(BOOL bChecked);// {m_isChecked = bChecked;}
ID GetID() {return m_ID;}
const char* GetStyle() {return m_key_style.c_str();}
const char* GetBaseStyle() {return m_key_base_style.c_str();}
const char* GetName() {return m_key.c_str();}
const char* GetConfig() {return m_key_config.c_str();}
VOID SetStyle(const char* str) {m_key_style = str;}
VOID SetBaseStyle(const char* str) {m_key_base_style = str;}
VOID SetName(const char* str) {m_key = str;}
CGsEngine* GetGsEngine() {return m_pEngine;}
CGsUIPanel* GetParent() {return m_pParent;}
DWORD GetPressCount() {return m_dwPressCount;}
BOOL Create(const char* strConfig, LPCSTR strItem="MAIN", GPOINT point = GPOINT(0,0), const char* strName=NULL);
virtual BOOL Restore();
virtual BOOL SaveConfig(const char* strConfig=NULL);
virtual VOID CloseDialog();
// HRESULT Draw();
CGsUIPanel(CGsUIPanel* pParent);
CGsUIPanel(CGsEngine* pEngine);
virtual ~CGsUIPanel();
public:
VOID SetImageDisable(const char* strImage);
VOID SetImageNormalTouch(const char* strImage);
VOID SetImageNormal(const char* strImage);
VOID SetImagePressTouch(const char* strImage);
VOID SetImagePress(const char* strImage);
VOID SetImageSense(const char* strImage);
VOID SetSoundTouch(const char* strSound);
VOID SetSoundClick(const char* strSound);
VOID SetBackLayer(BOOL bBackLayer);
virtual VOID SetImage(const char* strKey, const char* strImage);
VOID SetSize(const GPOINT &point);
VOID SetHeaderRect(const GRECT &rc);
VOID SetCanMove(BOOL bCanMove);
VOID SetBackMost();
BOOL IsCanMove() {return m_can_move;}
BOOL IsBackLayer() {return m_isBackLayer;}
const char* GetImageNormal() {return m_image_normal.GetKey();}
const char* GetImageNormalTouch() {return m_image_normal_touch.GetKey();}
const char* GetImagePress() {return m_image_press.GetKey();}
const char* GetImagePressTouch() {return m_image_press_touch.GetKey();}
const char* GetImageSense() {return m_image_sense.GetKey();}
const char* GetImageDisable() {return m_image_disable.GetKey();}
const char* GetSoundTouch() {return (m_sound_touch)?m_sound_touch->GetKey():NULL;}
const char* GetSoundTClick() {return (m_sound_click)?m_sound_click->GetKey():NULL;}
GPOINT GetSize() {return GPOINT(m_rcClient.width(), m_rcClient.height());}
GRECT GetHeaderRect() {return m_rcHeader;}
BOOL IsTextbox() {return m_isCaption;}
VOID SetTextbox(BOOL bTextbox) {m_isCaption = bTextbox;}
BOOL IsCanEdit() {return m_isCanEdit;}
VOID SetCanEdit(BOOL bCanEdit) {m_isCanEdit = bCanEdit;}
GSFONT* GetFont() {return &m_font;}
VOID SetFont();
const char* GetCaption() {return m_caption.c_str();}
VOID SetCaption(const char* caption);// {m_caption = caption;}
VOID SetCaption(int nValue);
D3DCOLOR GetColor() {return m_color;}
D3DCOLOR GetBkColor() {return m_bk_color;}
VOID SetColor(D3DCOLOR color) {m_color = color;}
VOID SetBkColor(D3DCOLOR color) {m_bk_color = color;}
UINT GetAlign() {return m_align;}
VOID SetAlign(UINT align) {m_align = align;}
HRESULT Draw(GPOINT point);
VOID PickClientToScreen(GPOINT &point);
virtual BOOL HitTest(GPOINT ptHit);
virtual VOID Cleanup();
virtual HRESULT UpdateCaption();
//protected:
virtual VOID UpdateState();
VOID AddSubPanel(CGsUIPanel* pPanel);
VOID DelSubPanel(CGsUIPanel* pPanel);
protected:
virtual HRESULT RestoreSource();
virtual VOID ReleaseSource();
virtual BOOL OnSaveConfig(CConfig &cfg);
virtual LONG OnUpdate();
virtual HRESULT OnDraw(GPOINT point);
virtual VOID OnTouch(BOOL bTouch);
virtual VOID OnClick();
virtual ID OnMouseMove( UINT nFlags, GPOINT point );
virtual ID OnMouseWheel( UINT nFlags, short zDelta, GPOINT point );
virtual ID OnLButtonDown( UINT nFlags, GPOINT point );
virtual ID OnLButtonUp( UINT nFlags, GPOINT point );
virtual ID OnLButtonDbClk( UINT nFlags, GPOINT point );
virtual ID OnRButtonDown( UINT nFlags, GPOINT point );
virtual ID OnRButtonUp( UINT nFlags, GPOINT point );
virtual ID OnRButtonDbClk( UINT nFlags, GPOINT point );
virtual ID OnChar( UINT nChar, UINT nRepCnt, UINT nFlags );
virtual ID OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
virtual ID OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags);
virtual VOID OnNotify(ID ,KEY key) {return;}
private:
VOID _SetCtlBackMost(CGsUIPanel *pPanel);
VOID _SetCtlTopMost(CGsUIPanel* pPanel);
protected:
virtual BOOL HitTest_Drag(GPOINT point);
virtual BOOL HitTest_Press(GPOINT point);
virtual BOOL HitTest_Touch(GPOINT point);
CGsEngine* m_pEngine;
CGsUIPanel* m_pParent;
CConfig config;
GRECT m_rcClient;
GRECT m_rcHeader;
BOOL m_isVisible;
BOOL m_isFocus;
BOOL m_isEnable;
BOOL m_isTouch;
BOOL m_is_checked_style;
BOOL m_isChecked;
BOOL m_isPress;
DWORD m_dwPressTime; //用于連擊按鍵效果
DWORD m_dwPressCount; //用于連擊按鍵效果
GPOINT m_ptBeginDrag;
BOOL m_isDrag;
BOOL m_isBackLayer;
BOOL m_can_move;
//key
KEY m_key;
KEY m_key_config;
KEY m_key_style;
KEY m_key_base_style;
KEY m_key_item;
BOOL m_isCaption;
BOOL m_isNumber;
BOOL m_isCanEdit;
DESC m_caption;
GSFONT m_font;
HFONT m_hfont;
UINT m_align;
D3DCOLOR m_color;
D3DCOLOR m_bk_color;
ID m_ID;
//Image
GSANI m_image_normal;
GSANI m_image_normal_touch;
GSANI m_image_press;
GSANI m_image_press_touch;
GSANI m_image_disable;
GSANI m_image_sense;
LPGSANI m_pImage;
//sound
CGsSound* m_sound_touch;
CGsSound* m_sound_click;
virtual LRESULT MsgProc( UINT uMsg, WPARAM wParam, LPARAM lParam );
CGsUIPanel* m_pDlg;
typedef std::list<CGsUIPanel*> PANEL_ARRAY;
PANEL_ARRAY m_panel_array;
CGsTexture m_tex_caption;
// typedef std::map<KEY, CGsUIPanel*> PANEL_MAP;
// PANEL_MAP m_panel_map;
};
class GSLIB_API GS_UI_Button : public CGsUIPanel
{
public:
virtual BOOL Restore();
virtual ID OnLButtonDbClk( UINT nFlags, GPOINT point );
VOID Cleanup();
GS_UI_Button(CGsUIPanel* pParent);
virtual ~GS_UI_Button();
protected:
virtual BOOL OnSaveConfig(CConfig &cfg);
virtual LONG OnUpdate();
virtual HRESULT OnDraw(GPOINT point);
virtual ID OnMouseMove( UINT nFlags, GPOINT point );
virtual ID OnLButtonDown( UINT nFlags, GPOINT point );
virtual ID OnLButtonUp( UINT nFlags, GPOINT point );
protected:
virtual BOOL HitTest_Press(GPOINT point);
virtual VOID OnPress(BOOL bPress);
virtual VOID OnTouch(BOOL bTouch);
private:
};
class GSLIB_API GS_UI_Layer : public CGsUIPanel
{
public:
GS_UI_Layer(CGsUIPanel* pParent);
virtual ~GS_UI_Layer();
protected:
virtual LONG OnUpdate();
virtual HRESULT OnDraw(GPOINT point);
protected:
float m_alpha;
float m_red;
float m_green;
float m_blue;
float m_out_size;
BOOL m_isSolidOrFrame;
};
class GSLIB_API GS_UI_ActiveCaption : public CGsUIPanel
{
struct _SHOW_LINE
{
DESC caption;
float pos_x;
float pos_y;
float full_show;
float end_show;
int width;
int height;
};
struct _CAPTION_LINE
{
DESC caption;
LONG width;
LONG height;
};
HRESULT UpdateCaptionEx();
public:
VOID SetFlash(BOOL bFlash=FALSE);// {m_is_flash = bFlash;}
GS_UI_ActiveCaption(CGsUIPanel* pParent);
virtual ~GS_UI_ActiveCaption();
virtual HRESULT UpdateCaption();
virtual BOOL Restore();
protected:
BOOL AddShowLine();
virtual LONG OnUpdate();
virtual HRESULT OnDraw(GPOINT point);
// virtual HRESULT OnDraw(GPOINT point);
float m_speed_x;
float m_speed_y;
LONG m_caption_width;
LONG m_caption_height;
LONG m_space_size;
float m_pos_x;
float m_pos_y;
int m_current_line;
BOOL m_is_flash;
std::list<_SHOW_LINE> m_show_list;
std::vector<_CAPTION_LINE> m_caption_buf;
};
#endif // !defined(AFX_GSUI_H__E68CAE40_5F5B_48DF_A021_BD5A7033C9B5__INCLUDED_)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -