📄 phonebooks.h
字号:
#include "AEEText.h"
#include "AEEStdLib.h" // AEE Stb Lib Services
#include "AEEAddrBook.h"
#include "Window.h"
#include "Menu.h"
#include "PhoneBooks_res.h"
typedef struct CWindow CWindow;
typedef struct CListWin CListWin;
typedef struct CFormWin CFormWin;
typedef struct CPhoneBooks CPhoneBooks;
typedef struct FABFields FABFields;
typedef enum WINTYPE WINTYPE;
/*CWindow*/
static IWindow* CWindow_New(int16 nSize, CPhoneBooks * pOwner, VTBL(IWindow) * pvt);
#define RELEASE_Win(pi) \
if(pi!=NULL)\
{\
IWINDOW_Delete(pi);\
pi=NULL;\
}
#define RELEASE_Ctl(ppif) \
if (ppif && *ppif)\
{\
IBASE_Release(*ppif);\
*ppif = NULL;\
}
/*CPhoneBooks*/
boolean CPhoneBooks_InitAppData(IApplet* po);
boolean CPhoneBooks_SetWindow(CPhoneBooks * pme, WINTYPE eWin, uint32 dwParam);
static void CPhoneBooks_FreeAppData(IApplet* po);
static boolean CPhoneBooks_HandleEvent(IApplet * pi, AEEEvent eCode,uint16 wParam, uint32 dwParam);
/*CFormWin*/
IWindow* CFormWin_New(CPhoneBooks * pOwner);
void CFormWin_Enable(IWindow * po, boolean bEnable);
void CFormWin_Redraw(IWindow * po);
boolean CFormWin_HandleEvent(IWindow * po, AEEEvent eCode, uint16 wParam, uint32 dwParam);
void CFormWin_Delete(IWindow * po);
/*CListWin*/
IWindow* CListWin_New(CPhoneBooks * pOwner);
void CListWin_Enable(IWindow * po, boolean bEnable);
void CListWin_Redraw(IWindow * po);
boolean CListWin_HandleEvent(IWindow * po, AEEEvent eCode, uint16 wParam, uint32 dwParam);
void CListWin_Delete(IWindow * po);
/*AddrBook*/
boolean HFAbAddField(FABFields** ppAddrFields,AEEAddrFieldType eFieldType, \
AEEAddrFieldID eFieldID,void* pBuffer);
boolean HFAbDelField(FABFields** ppAbFields);
boolean HFAbUpField(IAddrRec* pAbRec,FABFields** ppAbFields, \
AEEAddrFieldID eFieldID,void* pBuffer);
/*CWindow*/
#define INHERIT_CWindow(iname) \
DECLARE_VTBL(iname) \
CPhoneBooks * m_pOwner; \
IShell * m_pIShell; \
IDisplay * m_pIDisplay; \
flg m_bActive:1
struct CWindow
{
INHERIT_CWindow(IWindow);
};
/*=======================================*/
/*CListWin*/
struct CListWin
{
INHERIT_CWindow(IWindow);
IMenuCtl* pVListCtl;
IMenuCtl* pHListCtl;
IImage* pPhotoCtl;
IStatic* pStaticCtl;
IFMenuCtl* pSoftMenuCtl;
IMenuCtl* pPopMenuCtl;
};
/*=======================================*/
/*CFormWin*/
struct CFormWin
{
INHERIT_CWindow(IWindow);
ITextCtl* pNameBox;
ITextCtl* pMobileBox;
ITextCtl* pPhoneBox;
IMenuCtl* pGroupBox;
IImage* pNameImage;
IImage* pMobileImage;
IImage* pPhoneImage;
IImage* pGroupImage;
uint8 nActiveIndex;
uint32 nRecID;
IFMenuCtl* pSoftMenuCtl;
};
/*=======================================*/
/*CNote*/
enum WINTYPE{
W_NONE=0,
W_LIST,
W_FORM
};
struct CPhoneBooks
{
AEEApplet a;
int m_cxWidth;
int m_cyHeight;
uint16 m_nColorDepth;
int m_nNChSize; // Large char size
int m_nLChSize; // Normal char size
IWindow* m_pWin;
WINTYPE m_eWin;
IAddrBook* m_pAddrBook;
};
/*======================================*/
#define AEE_HI8(wParam) ((uint8)(((uint16)(wParam) >> 8) & 0x00ff))
#define AEE_LO8(wParam) ((uint8)(((uint16)(wParam)) & 0x00ff))
struct FABFields
{
AEEAddrField* pFields;
uint8 FieldCount;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -