Files
2022-10-26 12:25:11 +08:00

84 lines
1.6 KiB
C++

#pragma once
#include "uibase.h"
class uiPetMan;
class uiPetNameSetting : public uiBase
{
enum ePET_NAME_POS
{
PET_NAME_EDIT=0,
PET_NAME_BTN_OK,
PET_NAME_BTN_CANCLE,
PET_NAME_BTN_EXIT,
PET_NAME_MAX,
};
enum
{
PET_BTN_MAX = PET_NAME_BTN_EXIT - PET_NAME_BTN_OK + 1,
};
public:
uiPetNameSetting(InterfaceManager *pUIMan);
virtual ~uiPetNameSetting(void);
virtual VOID Init( CDrawBase * pDrawBase );
virtual VOID Release();
virtual VOID MessageProc( SI_MESSAGE * pMessage );
virtual void OnShowWindow( BOOL val );
void SetLockNameCard(POSTYPE pos,BOOL bLock=TRUE);
void SetPetName();
private:
CControlWZ * getControl( POSTYPE AtPos );
POSTYPE getCtrlIDToPos( WzID wzId );
void SendPetName();
void PetNameError(int iStringCode);
void InitControls();
private:
BOOL m_bInitDlg; //dlg´Â ÃÖÃÊ OnShowWindow(0)ÇѹøÈ£ÃâµÈ´Ù
POSTYPE m_InvenPos;
BOOL m_bWaitPacket;
TCHAR m_PetName[MAX_PET_NAME_LENGTH+1];
uiPetMan* m_pPetMan;
static WzID m_wzId[PET_NAME_MAX];
CCtrlButtonWZ* m_pPetBtnCtrl[PET_BTN_MAX];
CCtrlDxIMEEditBox* m_pNameEditCtrl;
};
//------------------------------------------------------------------------------
/**
*/
inline
POSTYPE
uiPetNameSetting::getCtrlIDToPos( WzID wzId )
{
for( POSTYPE i = 0 ; i < PET_NAME_MAX ; ++i )
{
if( m_wzId[i] == wzId )
{
return i;
}
}
return PET_NAME_MAX;
}
//------------------------------------------------------------------------------
/**
*/
inline
CControlWZ *
uiPetNameSetting::getControl( POSTYPE AtPos )
{
ASSERT( AtPos < PET_NAME_MAX );
return GetControlWZ( m_wzId[AtPos] );
}