183 lines
4.6 KiB
C++
183 lines
4.6 KiB
C++
// CPAMDgQu.cpp : implementation file
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
#include "StdAfx.h"
|
|
|
|
#include "EMECDgQu.hpp"
|
|
|
|
#include "_MInterf.hpp"
|
|
|
|
//External Modules
|
|
#include "IncTUT.h"
|
|
//End of External Modules
|
|
|
|
#define C_QUESTION_DIALOG_TIMER 69 //An Id for the timer
|
|
#define C_TEMPO_TIMER 60 //(ms)
|
|
#define C_NUMBER_OF_FRAMES 15
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CPA_Meca_QuestionDialog dialog
|
|
|
|
BEGIN_MESSAGE_MAP(CPA_Meca_QuestionDialog, CDialog)
|
|
//{{AFX_MSG_MAP(CPA_Meca_QuestionDialog)
|
|
ON_BN_CLICKED(IDNO, OnNo)
|
|
ON_BN_CLICKED(IDYES, OnYes)
|
|
ON_WM_TIMER()
|
|
ON_WM_DESTROY()
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
//**************************************************************************
|
|
CPA_Meca_QuestionDialog::CPA_Meca_QuestionDialog(CWnd* pParent, CString csMessage)
|
|
: CDialog(CPA_Meca_QuestionDialog::IDD, pParent)
|
|
{
|
|
//{{AFX_DATA_INIT(CPA_Meca_QuestionDialog)
|
|
m_csMessage = csMessage;
|
|
//}}AFX_DATA_INIT
|
|
|
|
m_hOldInstance = AfxGetResourceHandle();
|
|
AfxSetResourceHandle(g_stMecaDLLIdentity.hModule);
|
|
}
|
|
|
|
//**************************************************************************
|
|
CPA_Meca_QuestionDialog::~CPA_Meca_QuestionDialog()
|
|
{
|
|
AfxSetResourceHandle(m_hOldInstance);
|
|
}
|
|
|
|
//***************************************************************************
|
|
void CPA_Meca_QuestionDialog::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CPA_Meca_QuestionDialog)
|
|
DDX_Text(pDX, IDC_STATIC_QUESTION, m_csMessage);
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CPA_Meca_QuestionDialog message handlers
|
|
|
|
//***************************************************************************
|
|
BOOL CPA_Meca_QuestionDialog::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
//Init. timer
|
|
SetTimer(C_QUESTION_DIALOG_TIMER, C_TEMPO_TIMER, NULL);
|
|
|
|
//Loads Bitmaps
|
|
m_cbBitmap.LoadBitmap(IDB_BITMAP_QUESTION);
|
|
|
|
//////////////
|
|
//////////////
|
|
//Registers for TUT Module
|
|
TUT_M_vGetTutDll();
|
|
|
|
TUT_M_vRegisterControlID(IDYES, "TMe_QuestionDialog_YesButton", TUT_e_Button);
|
|
TUT_M_vRegisterControlID(IDNO, "TMe_QuestionDialog_NoButton", TUT_e_Button);
|
|
|
|
//End of Registers for TUT Module
|
|
//////////////
|
|
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
// EXCEPTION: OCX Property Pages should return FALSE
|
|
}
|
|
|
|
//***************************************************************************
|
|
void CPA_Meca_QuestionDialog::OnDestroy()
|
|
{
|
|
//////////////
|
|
//////////////
|
|
//UnRegisters for TUT Module
|
|
TUT_M_vGetTutDll();
|
|
|
|
TUT_M_vUnregisterControlID(IDYES);
|
|
TUT_M_vUnregisterControlID(IDNO);
|
|
|
|
//End of UnRegisters for TUT Module
|
|
//////////////
|
|
|
|
CDialog::OnDestroy();
|
|
}
|
|
|
|
//***************************************************************************
|
|
void CPA_Meca_QuestionDialog::OnNo()
|
|
{
|
|
KillTimer(C_QUESTION_DIALOG_TIMER);
|
|
|
|
EndDialog(IDNO);
|
|
}
|
|
|
|
//***************************************************************************
|
|
void CPA_Meca_QuestionDialog::OnYes()
|
|
{
|
|
KillTimer(C_QUESTION_DIALOG_TIMER);
|
|
|
|
EndDialog(IDYES);
|
|
}
|
|
|
|
//***************************************************************************
|
|
void CPA_Meca_QuestionDialog::OnTimer(UINT nIDEvent)
|
|
{
|
|
/* static BOOL s_bFirstPass = TRUE;
|
|
static char s_cCurrentBitmapIndex = -1; //To begin with first bitmap
|
|
static char s_cIndexIncrement = 1;
|
|
|
|
s_cCurrentBitmapIndex += s_cIndexIncrement;
|
|
if ( ! s_bFirstPass )
|
|
{
|
|
if ( s_cCurrentBitmapIndex % (C_NUMBER_OF_FRAMES-1) == 0 )
|
|
s_cIndexIncrement = -s_cIndexIncrement;
|
|
}
|
|
else
|
|
s_bFirstPass = FALSE;
|
|
|
|
((CStatic *)GetDlgItem(IDC_STATIC_IMAGE))->SetBitmap(HBITMAP(m_a_cbBitmaps[s_cCurrentBitmapIndex]));
|
|
*/
|
|
static BOOL s_bFirstPass = TRUE;
|
|
static CRect crRect;
|
|
static char s_cCurrentIndex = -1;
|
|
static char s_cIndexIncrement = 1;
|
|
|
|
s_cCurrentIndex += s_cIndexIncrement;
|
|
|
|
if ( s_bFirstPass )
|
|
{
|
|
crRect.top = 0;
|
|
crRect.bottom = 56;
|
|
crRect.left = 0;
|
|
crRect.right = 56;
|
|
|
|
s_bFirstPass = FALSE;
|
|
}
|
|
else
|
|
{
|
|
if ( s_cCurrentIndex % (C_NUMBER_OF_FRAMES-1) == 0 )
|
|
s_cIndexIncrement = -s_cIndexIncrement;
|
|
}
|
|
|
|
//Computes Rect
|
|
crRect.left = (56 * s_cCurrentIndex)/ C_NUMBER_OF_FRAMES;
|
|
crRect.right = 56 - (56 * s_cCurrentIndex)/ C_NUMBER_OF_FRAMES;
|
|
|
|
CClientDC dc(GetDlgItem(IDC_EDIT_BIDON));
|
|
CDC memDC;
|
|
memDC.CreateCompatibleDC(&dc);
|
|
memDC.SelectObject(m_cbBitmap);
|
|
|
|
dc.StretchBlt( crRect.left,
|
|
crRect.top,
|
|
crRect.Width(),
|
|
crRect.Height(), &memDC, 0, 0, 56, 56, SRCCOPY);
|
|
|
|
CDialog::OnTimer(nIDEvent);
|
|
}
|
|
|