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

📄 phonebooks.h

📁 brew平台下用VC开发的电话本
💻 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 + -