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

📄 chanstatsmalldialog.cpp

📁 基于dialogic语音卡的IVR系统源代码
💻 CPP
字号:
// ChanStatSmallDialog.cpp : implementation file
//

#include "stdafx.h"
#include "PansrMTC.h"
#include "ChanStatSmallDialog.h"

#ifdef _DEBUG
#if 0
#define new DEBUG_NEW
#endif
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

#define ACCESS_CODE_STR "Access Code: "

/////////////////////////////////////////////////////////////////////////////
// CChanStatSmallDialog dialog


CChanStatSmallDialog::CChanStatSmallDialog(CWnd* pParent /*=NULL*/)
{
	this->CChanStatSmallDialog::CChanStatSmallDialog(CChanStatSmallDialog::IDD, pParent);
}


CChanStatSmallDialog::CChanStatSmallDialog(UINT id, CWnd* pParent /*=NULL*/)
	: CDialog(id, pParent)
{
	m_green.CreateSolidBrush(RGB(0, 255, 0));
	m_red.CreateSolidBrush(RGB(255, 0, 0));
	//{{AFX_DATA_INIT(CChanStatSmallDialog)
	m_chan_num_str = _T("");
	//}}AFX_DATA_INIT
}


BOOL CChanStatSmallDialog::Create
	(int chanNum, 
  CWnd* pParent /*=NULL*/)
{
	m_chan_num = chanNum;
	m_chan_num_str.FormatMessage("%1!d!", m_chan_num);
	m_color = &m_red;

	return CDialog::Create(CChanStatSmallDialog::IDD, pParent);
}


BOOL CChanStatSmallDialog::Create
	(UINT id,
  int chanNum, 
  CWnd* pParent /*=NULL*/)
{
	m_chan_num = chanNum;
	m_chan_num_str.FormatMessage("%1!d!", m_chan_num);
	m_color = &m_red;

	return CDialog::Create(id, pParent);
}



void CChanStatSmallDialog::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CChanStatSmallDialog)
	DDX_Control(pDX, IDC_BITMAP, m_bitmap);
	DDX_Control(pDX, IDC_CHAN_COLOR, m_static_color);
	DDX_Control(pDX, IDC_CHAN_NUM, m_static_chan_num);
	DDX_Text(pDX, IDC_CHAN_NUM, m_chan_num_str);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CChanStatSmallDialog, CDialog)
	//{{AFX_MSG_MAP(CChanStatSmallDialog)
	ON_WM_PAINT()
	//}}AFX_MSG_MAP
  ON_MESSAGE(WM_DLGC_STATE, OnDialogicState)
  ON_MESSAGE(WM_DLGC_CODE, OnDialogicCode)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CChanStatSmallDialog message handlers


LRESULT CChanStatSmallDialog::OnDialogicState
  (WPARAM chanNum,
  LPARAM state)
{
	if (state == ST_ERROR)
    {
		if (m_color == &m_green)
		{
			m_color = &m_red;
			RedrawWindow();
		}
    }
	else
    {
		if (m_color == &m_red)
		{
			m_color = &m_green;
			RedrawWindow();
		}
    }

	switch (state)
    {
		case ST_OFFHOOK:
		case ST_READY:
			m_bitmap.SetBitmap(IDB_OFFHOOK);
			break;

		case ST_WTRING:
		case ST_ONHOOK:
			m_bitmap.SetBitmap(IDB_ONHOOK);
			break;

		default:
		break;
    }
     
	return 0L; 
}


LRESULT CChanStatSmallDialog::OnDialogicCode
  (WPARAM chanNum,
  LPARAM code)
{
	return 0L; 
}


void CChanStatSmallDialog::OnPaint() 
{
	CPaintDC dc(this); // device context for painting
	RECT rect;
	PAINTSTRUCT ps;
	CDC *colorDC;

	// because we only want to control this statics paint procedure
	// and because it is simply, we do not bother creating an entirely
	// new object inherited from CStatic.  Instead, by using BeginPaint
	// and EndPaint, I assure the CStatic's default paint procedure will
	// not be called.
	colorDC = m_static_color.BeginPaint(&ps);
	m_static_color.GetClientRect(&rect);
	colorDC->FillRect(&rect, m_color);  
	m_static_color.EndPaint(&ps);
}


BOOL CChanStatSmallDialog::OnInitDialog() 
{
    CDialog::OnInitDialog();
	
    m_bitmap.SetBitmap(0); // reset to clear

    return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

⌨️ 快捷键说明

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