- // tapiPhoneDlg.h : 头文件
- //
- #pragma once
- #include <tapi3.h>
- #include <control.h>
- #include "afxwin.h"
- #include "TapiEventProcess.h"
- // CtapiPhoneDlg 对话框
- class CtapiPhoneDlg : public CDialog
- {
- // 构造
- public:
- CtapiPhoneDlg(CWnd* pParent = NULL); // 标准构造函数
- ~CtapiPhoneDlg(){
- m_Tapi.ShutdownTapi(); }
- // 对话框数据
- enum { IDD = IDD_TAPIPHONE_DIALOG };
- /////////////////////////////////////////////////////////////////////////
- //
- // 成员变量
- //
- /////////////////////////////////////////////////////////////////////////
- //是否先用自动回答
- BOOL m_AutoAnswer;
- //CTapi对象,用于完成基本上所有关于TAPI的调用操作
- CTapi m_Tapi;
- // 挂断按钮
- CButton m_btDisconnect;
- //拨出按钮
- CButton m_btCall;
- //设置按钮
- CButton m_btConfig;
- //接听按钮
- CButton m_btPickup;
- // 提示信息
- CString m_valStcMsg;
- // 待呼叫号码
- CString m_valEdtNum;
- // 呼入方号码
- CString m_valCallerNum;
- // 图片框
- CStatic m_stcImage;
- //语音答复文件路径及留言存放
- CString strFileName0;
- CString strFileName1;
- CString strFileName2;
- CString strPath;
- protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
- // 实现
- protected:
- HICON m_hIcon;
- /////////////////////////////////////////////////////////////////////////
- //
- // 处理系统消息成员函数
- //
- /////////////////////////////////////////////////////////////////////////
- // 生成的消息映射函数
- virtual BOOL OnInitDialog();
- afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
- afx_msg void OnPaint();
- afx_msg HCURSOR OnQueryDragIcon();
- // UI 线程中响应 WM_PRIVATETAPIEVENT 消息的处理函数
- afx_msg LRESULT OnTapiEvent(WPARAM wp, LPARAM lp);
- afx_msg void OnBnClickedBtnPickup();
- afx_msg void OnBnClickedChkAuto();
- afx_msg void OnBnClickedBtnDisconnect();
- afx_msg void OnBnClickedBtnCall();
- afx_msg void OnBnClickedBtnExit();
- afx_msg void OnBnClickedBtnConfig();
- DECLARE_MESSAGE_MAP()
- public:
- /////////////////////////////////////////////////////////////////////////
- //
- // 处理 TAPI 消息成员函数
- //
- /////////////////////////////////////////////////////////////////////////
- // UI 线程中处理 TE_CALL 的函数
- HRESULT DoCallNotification(IN IDispatch * pEvent);
- // UI 线程中处理 TE_STATE 的函数
- HRESULT DoCallState(IN IDispatch* pEvent);
- // UI 线程中处理 TE_MEDIA 的函数
- HRESULT DoCallMedia(IN IDispatch * pEvent);
- // UI 线程中处理 TE_FILEEVENT 的函数
- HRESULT DoFileEvent(IN IDispatch * pEvent);
- // UI 线程中处理 TE_DIGIT 的函数
- HRESULT DoDigitEvent(IN IDispatch* pEvent);
- // 显示状态信息
- void SetStatusMessage(CString strMsg);
- };