📄 phoneui.h
字号:
#ifndef __H_PHONEUI__
#define __H_PHONEUI__
#define C_CMD_LCD_COMMAND 1
#define C_CMD_MOV 2
#define C_CMD_AND 3
#define C_CMD_OR 4
#define C_CMD_XOR 5
#define C_LCD_WIDTH 128 //LCD 点宽
#define C_LCD_HEIGHT 64 //LCD 点高
#if(1)
#define C_KEY_0 0x23
#define C_KEY_1 0x10
#define C_KEY_2 0x20
#define C_KEY_3 0x30
#define C_KEY_4 0x11
#define C_KEY_5 0x21
#define C_KEY_6 0x31
#define C_KEY_7 0x12
#define C_KEY_8 0x22
#define C_KEY_9 0x32
#define C_KEY_X 0x13
#define C_KEY_J 0x33
#define C_KEY_UP 0x14
#define C_KEY_DOWN 0x24
#define C_KEY_CANCEL 0x44
#define C_KEY_OK 0x34
#define C_KEY_INCVOL 0x40
#define C_KEY_DECVOL 0x41
#define C_KEY_INOUT 0x42
#endif
#define C_MASK_EVENT_KEY 0x01
#define C_MASK_NEWCALLIN 0x02
#define C_INFO_TIMEOUT 5000 //提示信息超时 5s
class CUsbTerminal;
class TESTPHONE;
class CSkype;
class CSkypePhone;
class CUser;
class CCall;
class CCallCollection;
class CVolume;
class CWave;
class CPhoneUI
{
public:
CPhoneUI();
~CPhoneUI();
void StartMainThread(void);
void StopMainThread(void);
friend UINT MainThread(LPVOID pParam);
void OnUsbPhoneMsg(long wp, long lp);
void OnKeyDown(int key);
void OnCallStatus(CCall *call, long Status);
TESTPHONE *pTestPhone;
CSkype *pSkype;
CUsbTerminal *pUsbTerminal;
CSkypePhone *pSkypePhone;
protected:
CDC m_Dc;
CBitmap m_Bitmap;
int m_Height,m_Width;
UCHAR *m_LcdBuff;
UCHAR *m_Bitmapbuff;
HANDLE EventWait;
UINT m_Events;
UCHAR m_key;
UCHAR m_KeyFlag;
long m_NewCallId;
bool b_InCall;
CWinThread *TerminalThread;
CVolume *pVolumeMaster, *pVolumeMic;
CWave *pWave;
void SetVolume(DWORD volume);
void IncVolume(void);
void DecVolume(void);
void KeyTong(int key);
void LcdLight(bool on);
void SetLcdPos(UCHAR X, UCHAR Y);
void UpdateLcd(UCHAR *buff);
void Show(void);
void Cls(void);
void DisplayText(CDC *pdc, CString str, RECT &rect, UINT format);
void DisplayString(UINT id, RECT &rect, UINT format);
void DisplayString(CString str, RECT &rect, UINT format);
int DisInformation(UINT nId, DWORD timeout);
void ScrollBar(long index, long max);
void InitalHardware();
void MainFunc(void);
int UserStatusIcon(int status);
int SelectFriend(void);
int CallStatusIcon(int type, int status);
int SelectCallRecord(int type=0);
int CallUser(CUser user);
int CallUser(CCall call);
int CallUser(LPCTSTR Target);
int NewCallIn(void);
int InCalling(CCall &call);
int CallFinish(CCall &call);
int CallErrStatus(long status);
int DialKey(UCHAR key);
int ChackDialKeys(CString strKeys);
int Dial(UCHAR key);
int WaitEvents(DWORD timeout);
inline int KeyEvent()
{
int result=0;
if(m_Events & C_MASK_EVENT_KEY)
{
m_Events ^= C_MASK_EVENT_KEY;
result=1;
}
return (result);
}
};
void GetRegKeys(void);
void SetRegKeys(void);
extern BOOL m_AutoRun;
extern DWORD m_Mic_Cur;
extern DWORD m_Volume_Ring; //震铃
extern DWORD m_Volume_InCall; //通话
extern DWORD m_Volume_Normal; //平时
extern DWORD m_Volume_Min;
extern DWORD m_Volume_Max;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -