Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
83 lines
2.3 KiB
C++
83 lines
2.3 KiB
C++
// GUIMessageBox.h: interface for the CGUIMessageBox class.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#if !defined(AFX_GUIMESSAGEBOX_H__F81A1529_1603_4C04_94BF_02E10D1898E7__INCLUDED_)
|
|
#define AFX_GUIMESSAGEBOX_H__F81A1529_1603_4C04_94BF_02E10D1898E7__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
#include <vertex.h>
|
|
#include <vector>
|
|
#include "GUIButton.h"
|
|
|
|
using namespace std;
|
|
|
|
#define MB_NORMAL 0x00000000
|
|
#define MB_EXIT 0x00000001
|
|
#define MB_CONFIRM 0x00000002
|
|
#define MB_CANCEL 0x00000004
|
|
#define MB_YES 0x00000008
|
|
#define MB_NO 0x00000010
|
|
#define MB_PREV 0x00000020
|
|
#define MB_NEXT 0x00000040
|
|
#define MB_NUMBER 0x00000080
|
|
#define MB_STRING 0x00000100
|
|
|
|
class CGUIMessageBox
|
|
{
|
|
typedef struct WORDNode
|
|
{
|
|
unsigned long m_dwNum;
|
|
BOOL m_bFirstLink;
|
|
vector<char *> m_lstMessage;
|
|
} WORDNode, *LPWORDNode;
|
|
|
|
public:
|
|
unsigned long *m_lpResultValue;
|
|
TLVertex m_Vertexes[16];
|
|
unsigned short m_wIndex[54];
|
|
unsigned long *m_lpValue;
|
|
char *m_lpstrValue;
|
|
CGUIButton m_btnButton[5];
|
|
CSprite m_spNumber;
|
|
|
|
vector<LPWORDNode> m_lstMessage;
|
|
CGUIMessageBox *m_lpParent;
|
|
long m_lTick;
|
|
|
|
float m_fPosX, m_fPosY;
|
|
RECT m_rcRect;
|
|
|
|
BOOL m_bWordBreak;
|
|
BOOL m_bShow;
|
|
unsigned long m_dwFlag;
|
|
|
|
BOOL m_bEnableEnter;
|
|
|
|
CGUIMessageBox();
|
|
~CGUIMessageBox();
|
|
|
|
void Create(const char *strMessage, unsigned long dwFlag = MB_NORMAL, float posX = 248.0f, float posY = 200.0f);
|
|
BOOL ShowDialog(unsigned long dwChrID, unsigned long dwPage);
|
|
|
|
void Destroy();
|
|
|
|
void SetWordBreak(BOOL bWordBreak) { m_bWordBreak = bWordBreak; }
|
|
void SetEnableEnter(BOOL bEnableEnter) { m_bEnableEnter = bEnableEnter; }
|
|
void SetResult(unsigned long *lpValue) { m_lpResultValue = lpValue; }
|
|
void SetValue(unsigned long *lpValue) { m_lpValue = lpValue; }
|
|
void SetValue(char *lpstrValue) { m_lpstrValue = lpstrValue; }
|
|
void SetText(const char *strMessage);
|
|
void SetPosition(float fPosX, float fPosY); //x, y는 메시지 박스의 left top이 아닌 정가운데점.
|
|
void Show(BOOL bShow) { m_bShow = bShow; }
|
|
void SetTimer(long lTick) { m_lTick = lTick; }
|
|
|
|
BOOL Update(float fTick, BOOL &bClick, BOOL bAble);
|
|
void Render(LPDIRECT3DDEVICE8 lpD3DDevice);
|
|
};
|
|
|
|
#endif // !defined(AFX_GUIMESSAGEBOX_H__F81A1529_1603_4C04_94BF_02E10D1898E7__INCLUDED_)
|