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

📄 atrkfaxdlg.h

📁 这是一个Demo程序
💻 H
字号:
// AtrkFaxDlg.h : header file
//

#if !defined(AFX_ATRKFAXDLG_H__31DCFE09_B65C_11D4_9FD6_000021F39F78__INCLUDED_)
#define AFX_ATRKFAXDLG_H__31DCFE09_B65C_11D4_9FD6_000021F39F78__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "BmpApi.h"
#include "shpa3api.h"
#include "FirstDlg.h"
#include "SecondDlg.h"
#include "ThirdDlg.h"

enum {
	C_SEND_FAX,
	C_RECEIVE_FAX
};

enum {
	SO_IDLE=1,
	SO_WAIT_OCCUPY_ACK,
	SO_TX_PHONE_NUM,
	SO_RX_BKWD_Ai,
	SO_WAITBKWD_Ai_STOP,
	SO_WAIT_KB,
	SO_WAIT_KB_STOP,
	SO_WAIT_REMOTE_PICKUP,
	SO_WAIT_APP_HANGUP,
	SO_WAIT_A1,
	SO_WAIT_A1_STOP,
	SO_SAY_IDLE,
	SI_IDLE=21,
	SI_DETECT_OCCUPY,
	SI_RX_PHONE_NUM,
	SI_RX_CALLERID,
	SI_RX_KD,
	SI_WAIT_KB,
	SI_WAIT_KD_STOP,
	SI_WAIT_APP_PICKUP,
	SI_WAIT_APP_HANGUP,
	SI_WAIT_REMOTE_HANGUP,
	SI_WAIT_STOP
};

// 传真步骤
enum{
  TRK_IDLE,						//空闲

  // only for auto send/rcv
  TRK_WAIT_CONNECT,				//等待连接
  TRK_PLAY_SELECT,				//播放提示语 : "选择1发送,选择2接收"
  TRK_CHECK_PLAY_SELECT,		//播放提示语1
  TRK_CHECK_PLAY_START,			//播放提示语2

  // only for manual send
  TRK_CHECK_AUTODIAL,			//正在拨号,检查拨号结果
  TRK_PLAY_MANUAL_HINT,			//播放提示语音 : "按启动键开始"
  TRK_CHECK_MANUAL_PLAY_START,  //提示语音放音结束?
  TRK_MANUAL_FAX_START,			//

  TRK_CHECK_FAX_PROCESS,		//通话...
  TRK_CHECK_FAX_END,			//检查传真结果
  TRK_HANGUP					//挂机
};

enum{
	FAX_IDLE,					//空闲
	FAX_START,					//开始传真
	FAX_CHECK_END,				//正在发送/接收
	FAX_CHECK_STOP				//停止传真
};
 
typedef struct tagCH_INFO{
	char pChErrMsg[300];
	char fnRcvFaxFile[250];
	char PhoNum[20];
	char Page[10];
	char GetID[30];
	int  MaxFaxSpeed;
	int  Direction;
	int  Go;
	int  OffLine;
	int  Step;
	int  Mode;					// 0 : Auto Send/Rcv , 1 : Manual Send
	int  Fax_Answered;
	char    szRecPathFile[250];//传真接收文件
	char    szSendPathFile[250];//传真发送文件
	char	bHaveStartPage;	//有开始页
	char	nStartPage;
	char	nEndPage;

	char	ucCheckEnd;
	int		nTrunkch;
}CH_INFO;

typedef struct{
	int		nShow;		//传真方式
	BOOL	EnCalled;				// 是否允许呼叫
    int		lineState;				// 通道状态
	char	pChErrMsg[250];		// 通道错误信息
	char	pPhoNum[30];
	char	pCallerId[30];
	char	dtmf;
	int		toFaxCh;
	unsigned long dwTimeOut;	// 超时
	int		Step;					// state of current channel
	int		Fax_Answered;
} TRUNK_STRUCT;


/////////////////////////////////////////////////////////////////////////////
// CAtrkFaxDlg dialog

class CAtrkFaxDlg : public CDialog
{
public:
	CFirstDlg	m_firstDlg;
	CSecondDlg	m_secondDlg;
	CThirdDlg	m_thirdDlg;
	void		AutoSendFaxEx();
// Construction
public:
	CAtrkFaxDlg(CWnd* pParent = NULL);	// standard constructor
	virtual ~CAtrkFaxDlg();
// Dialog Data
	//{{AFX_DATA(CAtrkFaxDlg)
	enum { IDD = IDD_ATRKFAX_DIALOG };
	CComboBox	m_cmbFaxCh;
	CComboBox	m_cmbCurCh;
	CTabCtrl	m_TabCtrl;
	CButton	m_flaghangup;
	CListCtrl	m_TrkChList;
	CListCtrl	m_FaxChList;
	int		m_AutoFaxMode;
	int		m_MaxFaxSpeed;
	CString	m_strManSendFaxFile;
	CString	m_strRecordFile;
	CString	m_strAppendSendFile;
	BOOL	m_bMultiFax;
	BOOL	m_bSetMixer;
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAtrkFaxDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	HICON m_hIcon;

	// Generated message map functions
	//{{AFX_MSG(CAtrkFaxDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnRadioAutoMode1();
	afx_msg void OnRadioMaxSpeed2();
	afx_msg void OnRadioMaxSpeed3();
	afx_msg void OnRadioAutoMode2();
	afx_msg void OnRadioMaxSpeed1();
	afx_msg void OnAutoRcvPathButton();
	afx_msg void OnDestroy();
	afx_msg void OnTimer(UINT nIDEvent);
	afx_msg void OnHangup();
	afx_msg void OnNohangup();
	afx_msg void OnAppend();
	afx_msg void OnSelfn();
	afx_msg void OnCheckStartPage();
	afx_msg void OnButtonStopFax();
	afx_msg void OnButton1();
	afx_msg void OnButton2();
	afx_msg void OnViewmansendfaxfile();
	afx_msg void OnAutocall();
	afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
	afx_msg void OnSelchangingTab1(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void AutoSendFax();
	afx_msg void OnBUTTONAppendSend();
	afx_msg void OnButtonAppend();
	afx_msg void OnCHECKMultiChRec();
	afx_msg void OnCHECKSetRexMixer();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
private:
	void WriteLog(char* szLog);

	char m_fnAppendFaxFile[250];
	int  m_nTotalCh;
	char m_szErrMsg[200];

	//char m_szSendFaxFile[MAX_PATH];
	//char m_szManSendFaxFile[MAX_PATH];
	CH_INFO m_FaxCh[500];
	TRUNK_STRUCT m_ATrkCh[500];
	char m_szCurPath[MAX_PATH];
	FILE *m_LogFile;
	BOOL m_bLog;

	int		m_nTabShow;	//added by xxh for tabshow
	//void GetStartPage();
	void myUpDateATrunkChListCtrl();
	void myUpdateChInfoList();
	void myScanFaxCh();
	void myScanATrunkCh();
	void myMakeFaxFile(char* fnsrcbmp, char* fnfax);
	BOOL myInitFaxBoard();
	int  myFindAnIdleCh();
	void myDrawSelect(int x, int y, Img_Block* pImg);
	void InitATrunkListCtrl();
	void InitChInfoList();
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_ATRKFAXDLG_H__31DCFE09_B65C_11D4_9FD6_000021F39F78__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -