530 lines
17 KiB
C++
530 lines
17 KiB
C++
// ErO_DgIf.cpp : implementation file
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
#include "StdAfx.h"
|
|
|
|
#include "ErO_DgIf.hpp"
|
|
|
|
#include "ErO_Stat.hpp"
|
|
#include "ErOTeam.hpp"
|
|
#include "ErO_Op.hpp"
|
|
#include "ErO_Priv.hpp"
|
|
#include "ErOReprt.hpp"
|
|
|
|
/////////////////////////////////////////////////////////
|
|
//Array of ID
|
|
UINT g_a_uiID[ERO_STATIC_TYPE__NUMBER_OF_TYPES - 1]=
|
|
{
|
|
IDD_DIALOG_MORE_INFO1,
|
|
IDD_DIALOG_MORE_INFO2,
|
|
IDD_DIALOG_MORE_INFO3,
|
|
IDD_DIALOG_MORE_INFO4,
|
|
IDD_DIALOG_MORE_INFO5,
|
|
};
|
|
/////////////////////////////////////////////////////////
|
|
|
|
#define ERO_C_SPACING_WITH_BORDER 14
|
|
#define ERO_C_NUMBER_OF_BACKGROUND_BITMAPS 2
|
|
|
|
extern HMODULE g_hModule;
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// ErO_MoreInfoDialog dialog
|
|
|
|
BEGIN_MESSAGE_MAP(ErO_MoreInfoDialog, CDialog)
|
|
//{{AFX_MSG_MAP(ErO_MoreInfoDialog)
|
|
ON_WM_MOUSEMOVE()
|
|
// ON_BN_CLICKED(IDC_BUTTON_SEND_MESSAGE, OnButtonSendMessage)
|
|
ON_BN_CLICKED(IDC_BUTTON_MAKE_REPORT, OnButtonMakeReport)
|
|
ON_WM_LBUTTONUP()
|
|
ON_WM_LBUTTONDOWN()
|
|
#ifdef ERO_BITMAP_AS_BACKGROUND
|
|
ON_WM_PAINT()
|
|
#endif //ERO_BITMAP_AS_BACKGROUND
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
//***************************************************************************
|
|
ErO_MoreInfoDialog::ErO_MoreInfoDialog(CWnd* pParent,
|
|
CPoint cpPoint,
|
|
enum ErO_eStaticType _tdeType)
|
|
: CDialog(g_a_uiID[_tdeType - 1], pParent)
|
|
{
|
|
//{{AFX_DATA_INIT(ErO_MoreInfoDialog)
|
|
// NOTE: the ClassWizard will add member initialization here
|
|
//}}AFX_DATA_INIT
|
|
|
|
m_pri_cpPoint = cpPoint;
|
|
m_pri_eType = _tdeType;
|
|
|
|
m_pri_bHasCapturedMouse= FALSE;
|
|
}
|
|
|
|
//***************************************************************************
|
|
ErO_MoreInfoDialog::~ErO_MoreInfoDialog()
|
|
{
|
|
POSITION pos = m_pri_clListOfID.GetHeadPosition();
|
|
while ( pos != NULL )
|
|
delete m_pri_clListOfID.GetNext(pos);
|
|
}
|
|
|
|
//***************************************************************************
|
|
void ErO_MoreInfoDialog::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(ErO_MoreInfoDialog)
|
|
// NOTE: the ClassWizard will add DDX and DDV calls here
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// ErO_MoreInfoDialog message handlers
|
|
|
|
//***************************************************************************
|
|
BOOL ErO_MoreInfoDialog::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
long lMaxLength = m_pri_fn_l_ComputeLongestString();
|
|
|
|
m_pri_BuilListOfID();
|
|
m_pri_MoveControls(lMaxLength);
|
|
|
|
CRect crWindowRect;
|
|
GetWindowRect(crWindowRect);
|
|
//Moves Rect to right position
|
|
crWindowRect.OffsetRect(m_pri_cpPoint.x - crWindowRect.left,
|
|
m_pri_cpPoint.y - crWindowRect.top);
|
|
|
|
//Adjusts Rect's size
|
|
crWindowRect.right = crWindowRect.left + lMaxLength + 2*ERO_C_SPACING_WITH_BORDER;
|
|
|
|
if ( m_pri_eType == ERO_STATIC_TYPE__MODULE )
|
|
{
|
|
//Gets Team
|
|
ErrorOperator_Team *pclTeam = g_clListOfTeams.m_pub_fn_pclGetTeamFromModuleName(g_csModuleName);
|
|
if ( pclTeam != NULL )
|
|
{
|
|
CString csProgName = pclTeam->m_csMainProgrammerName;
|
|
csProgName.MakeLower();
|
|
HICON hIcon;
|
|
if ( csProgName.Find("babitch") != -1 )
|
|
{
|
|
hIcon = ::LoadIcon(g_hModule, MAKEINTRESOURCE(IDI_ICON_PROG_YB));
|
|
((CStatic *)GetDlgItem(IDC_IMAGE))->SetIcon(hIcon);
|
|
}
|
|
else if ( csProgName.Find("billault") != -1 )
|
|
{
|
|
hIcon = ::LoadIcon(g_hModule, MAKEINTRESOURCE(IDI_ICON_PROG_XB));
|
|
((CStatic *)GetDlgItem(IDC_IMAGE))->SetIcon(hIcon);
|
|
}
|
|
else if ( csProgName.Find("reizer") != -1 )
|
|
{
|
|
hIcon = ::LoadIcon(g_hModule, MAKEINTRESOURCE(IDI_ICON_PROG_DR));
|
|
((CStatic *)GetDlgItem(IDC_IMAGE))->SetIcon(hIcon);
|
|
}
|
|
else
|
|
GetDlgItem(IDC_IMAGE)->ShowWindow(SW_HIDE);
|
|
}
|
|
else
|
|
{
|
|
GetDlgItem(IDC_IMAGE)->ShowWindow(SW_HIDE);
|
|
//Cannot send a message
|
|
// GetDlgItem(IDC_BUTTON_SEND_MESSAGE)->ShowWindow(SW_HIDE);
|
|
}
|
|
}
|
|
else if ( m_pri_eType == ERO_STATIC_TYPE__ACTION )
|
|
{
|
|
//Resizes window to show all lines of ListBox
|
|
/* CListBox *pclListBox = (CListBox *)GetDlgItem(IDC_LIST_ADD_INFO);
|
|
short wListBoxHeight = pclListBox->GetCount() * pclListBox->GetItemHeight(0) + 2;
|
|
|
|
CRect crLBRect;
|
|
pclListBox->GetWindowRect(crLBRect);
|
|
crLBRect.bottom = crLBRect.top + wListBoxHeight;
|
|
|
|
crWindowRect.bottom = crLBRect.bottom + ERO_C_SPACING_WITH_BORDER;
|
|
|
|
ScreenToClient(&crLBRect);
|
|
|
|
pclListBox->MoveWindow(crLBRect);*/
|
|
}
|
|
|
|
//Moves Window
|
|
MoveWindow(crWindowRect);
|
|
|
|
SetCapture();
|
|
|
|
#ifdef ERO_BITMAP_AS_BACKGROUND
|
|
//Selects a bitmap
|
|
/* srand((unsigned)time( NULL ));
|
|
int iRandomNumber = rand();
|
|
iRandomNumber = (iRandomNumber * ERO_C_NUMBER_OF_BACKGROUND_BITMAPS) / RAND_MAX + 1;
|
|
CString csResourceName;
|
|
csResourceName.Format("IDB_BITMAP_BACKGROUND_%i", iRandomNumber);
|
|
m_pri_cBackgroundBitmap.LoadBitmap(csResourceName);*/
|
|
m_pri_cBackgroundBitmap.LoadBitmap(IDB_BITMAP_BACKGROUND_1);
|
|
#endif //ERO_BITMAP_AS_BACKGROUND
|
|
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
// EXCEPTION: OCX Property Pages should return FALSE
|
|
}
|
|
|
|
//***************************************************************************
|
|
void ErO_MoreInfoDialog::OnMouseMove(UINT nFlags, CPoint point)
|
|
{
|
|
if ( !m_pri_bHasCapturedMouse )
|
|
{
|
|
SetCapture();
|
|
|
|
GetWindowRect(m_pri_crWindowRect);
|
|
m_pri_bHasCapturedMouse = TRUE;
|
|
}
|
|
|
|
if ( m_pri_bHasCapturedMouse )
|
|
{
|
|
CPoint cpTempPoint(point);
|
|
ClientToScreen(&cpTempPoint);
|
|
if ( !m_pri_crWindowRect.PtInRect(cpTempPoint) )
|
|
{
|
|
ReleaseCapture();
|
|
m_pri_bHasCapturedMouse = FALSE;
|
|
EndDialog(IDOK);
|
|
}
|
|
}
|
|
|
|
//For buttons response
|
|
if ( m_pri_eType == ERO_STATIC_TYPE__MODULE )
|
|
{
|
|
WPARAM wParam = nFlags;
|
|
LPARAM lParam = point.x << (sizeof(LPARAM) / 2) + point.y;
|
|
|
|
// GetDlgItem(IDC_BUTTON_SEND_MESSAGE)->SendMessage(WM_MOUSEMOVE, wParam, lParam);
|
|
}
|
|
|
|
CDialog::OnMouseMove(nFlags, point);
|
|
}
|
|
|
|
//***************************************************************************
|
|
void ErO_MoreInfoDialog::OnLButtonUp(UINT nFlags, CPoint point)
|
|
{
|
|
//For buttons response
|
|
if ( m_pri_eType == ERO_STATIC_TYPE__MODULE )
|
|
{
|
|
WPARAM wParam = nFlags;
|
|
LPARAM lParam = point.x << (sizeof(LPARAM) / 2) + point.y;
|
|
|
|
// GetDlgItem(IDC_BUTTON_SEND_MESSAGE)->SendMessage(WM_LBUTTONUP, wParam, lParam);
|
|
}
|
|
|
|
CDialog::OnLButtonUp(nFlags, point);
|
|
}
|
|
|
|
//***************************************************************************
|
|
void ErO_MoreInfoDialog::OnLButtonDown(UINT nFlags, CPoint point)
|
|
{
|
|
//For buttons response
|
|
if ( m_pri_eType == ERO_STATIC_TYPE__MODULE )
|
|
{
|
|
WPARAM wParam = nFlags;
|
|
LPARAM lParam = point.x << (sizeof(LPARAM) / 2) + point.y;
|
|
|
|
// GetDlgItem(IDC_BUTTON_SEND_MESSAGE)->SendMessage(WM_LBUTTONDOWN, wParam, lParam);
|
|
}
|
|
|
|
CDialog::OnLButtonDown(nFlags, point);
|
|
}
|
|
|
|
//***************************************************************************
|
|
/*void ErO_MoreInfoDialog::OnButtonSendMessage()
|
|
{
|
|
//Gets Team
|
|
ErrorOperator_Team *pclTeam = g_clListOfTeams.m_pub_fn_pclGetTeamFromModuleName(g_csModuleName);
|
|
if ( pclTeam != NULL )
|
|
{
|
|
CString csProgName = pclTeam->m_csMainProgrammerName;
|
|
|
|
//Builds a name with first name first letter and name
|
|
short wIndex = csProgName.Find(" ");
|
|
if ( wIndex != -1 )
|
|
{
|
|
CString csNetSendName = csProgName.Left(1) + csProgName.Right(csProgName.GetLength() - wIndex - 1);
|
|
|
|
CString csNetSendMessage = CString('"') + "Your module '" + g_csModuleName
|
|
+ "' has crashed while : " + g_csCurrentAction + '"';
|
|
|
|
CString csCommanLine = "net send " + csNetSendName + " " + csNetSendMessage;
|
|
WinExec(csCommanLine, SW_HIDE);
|
|
}
|
|
}
|
|
} */
|
|
|
|
//***************************************************************************
|
|
void ErO_MoreInfoDialog::OnButtonMakeReport()
|
|
{
|
|
ErrorOperator_DialogReport ReportDial(this);
|
|
ReportDial.DoModal();
|
|
SetCapture();
|
|
}
|
|
|
|
//***************************************************************************
|
|
#define ERO_M_ADD_ID(ID) \
|
|
pclUI = new UINT; \
|
|
*pclUI = ID; \
|
|
m_pri_clListOfID.AddTail(pclUI);
|
|
|
|
//***************************************************************************
|
|
void ErO_MoreInfoDialog::m_pri_BuilListOfID()
|
|
{
|
|
UINT *pclUI;
|
|
switch ( m_pri_eType )
|
|
{
|
|
case ERO_STATIC_TYPE__MODULE:
|
|
ERO_M_ADD_ID(IDC_TEXT_TITLE);
|
|
ERO_M_ADD_ID(IDC_MODULE_NAME);
|
|
ERO_M_ADD_ID(IDC_MODULE_VERSION);
|
|
ERO_M_ADD_ID(IDC_MODULE_MAIN_NAME);
|
|
ERO_M_ADD_ID(IDC_MODULE_MAIN_PHONE);
|
|
ERO_M_ADD_ID(IDC_MODULE_MAIN_MAIL);
|
|
ERO_M_ADD_ID(IDC_MODULE_SECOND_NAME);
|
|
ERO_M_ADD_ID(IDC_MODULE_SECOND_PHONE);
|
|
ERO_M_ADD_ID(IDC_MODULE_SECOND_MAIL);
|
|
ERO_M_ADD_ID(IDC_MODULE_RESPONSIBLE_NAME);
|
|
ERO_M_ADD_ID(IDC_MODULE_RESPONSIBLE_PHONE);
|
|
ERO_M_ADD_ID(IDC_MODULE_RESPONSIBLE_MAIL);
|
|
break;
|
|
|
|
case ERO_STATIC_TYPE__ACTION:
|
|
ERO_M_ADD_ID(IDC_TEXT_TITLE);
|
|
ERO_M_ADD_ID(IDC_CURRENT_ACTION);
|
|
ERO_M_ADD_ID(IDC_LIST_ADD_INFO);
|
|
break;
|
|
|
|
case ERO_STATIC_TYPE__DEBUG:
|
|
ERO_M_ADD_ID(IDC_TEXT_TITLE);
|
|
ERO_M_ADD_ID(IDC_FILE_NAME);
|
|
ERO_M_ADD_ID(IDC_LINE_NUMBER);
|
|
ERO_M_ADD_ID(IDC_FILE_DATE);
|
|
ERO_M_ADD_ID(IDC_FUNCTION);
|
|
break;
|
|
|
|
case ERO_STATIC_TYPE__SCRIPT:
|
|
ERO_M_ADD_ID(IDC_TEXT_TITLE);
|
|
ERO_M_ADD_ID(IDC_FILE_NAME);
|
|
ERO_M_ADD_ID(IDC_LINE_NUMBER);
|
|
break;
|
|
|
|
case ERO_STATIC_TYPE__ADDITIONNAL:
|
|
ERO_M_ADD_ID(IDC_TEXT_TITLE);
|
|
ERO_M_ADD_ID(IDC_ERROR_TYPE);
|
|
ERO_M_ADD_ID(IDC_EXPLANATION);
|
|
break;
|
|
};
|
|
}
|
|
|
|
//***************************************************************************
|
|
void ErO_MoreInfoDialog::m_pri_MoveControls(long _lWidth)
|
|
{
|
|
CWnd *pclWnd;
|
|
CRect crControlRect;
|
|
POSITION pos = m_pri_clListOfID.GetHeadPosition();
|
|
while ( pos != NULL )
|
|
{
|
|
pclWnd = GetDlgItem(*m_pri_clListOfID.GetNext(pos));
|
|
|
|
if ( pclWnd != NULL )
|
|
{
|
|
pclWnd->GetWindowRect(crControlRect);
|
|
ScreenToClient(crControlRect);
|
|
crControlRect.right = crControlRect.left + _lWidth;
|
|
|
|
pclWnd->MoveWindow(crControlRect);
|
|
}
|
|
}
|
|
}
|
|
|
|
//***************************************************************************
|
|
long ErO_MoreInfoDialog::m_pri_fn_l_ComputeLongestString()
|
|
{
|
|
CClientDC dc(this);
|
|
dc.SelectObject(GetFont());
|
|
long lMaxLength = 0;
|
|
CString csTempString;
|
|
|
|
//Gets Team
|
|
ErrorOperator_Team *pclTeam = g_clListOfTeams.m_pub_fn_pclGetTeamFromModuleName(g_csModuleName);
|
|
|
|
switch ( m_pri_eType )
|
|
{
|
|
case ERO_STATIC_TYPE__MODULE:
|
|
csTempString = "Module additionnal informations";
|
|
lMaxLength = max(dc.GetTextExtent(csTempString).cx, lMaxLength);
|
|
|
|
csTempString = g_csModuleName.IsEmpty() ? ERO_C_szUnknown : g_csModuleName;
|
|
lMaxLength = max(dc.GetTextExtent(csTempString).cx, lMaxLength);
|
|
GetDlgItem(IDC_MODULE_NAME)->SetWindowText(csTempString);
|
|
|
|
csTempString = (pclTeam == NULL) ? ERO_C_szUnknown : pclTeam->m_csModuleVersion;
|
|
lMaxLength = max(dc.GetTextExtent(csTempString).cx, lMaxLength);
|
|
GetDlgItem(IDC_MODULE_VERSION)->SetWindowText(csTempString);
|
|
|
|
csTempString = (pclTeam == NULL) ? ERO_C_szUnknown : pclTeam->m_csMainProgrammerName;
|
|
lMaxLength = max(dc.GetTextExtent(csTempString).cx, lMaxLength);
|
|
GetDlgItem(IDC_MODULE_MAIN_NAME)->SetWindowText(csTempString);
|
|
|
|
csTempString = (pclTeam == NULL) ? ERO_C_szUnknown : pclTeam->m_csMainProgrammerPhoneNumber;
|
|
lMaxLength = max(dc.GetTextExtent(csTempString).cx, lMaxLength);
|
|
GetDlgItem(IDC_MODULE_MAIN_PHONE)->SetWindowText(csTempString);
|
|
|
|
csTempString = (pclTeam == NULL) ? ERO_C_szUnknown : pclTeam->m_csMainProgrammerEMailAddress;
|
|
lMaxLength = max(dc.GetTextExtent(csTempString).cx, lMaxLength);
|
|
GetDlgItem(IDC_MODULE_MAIN_MAIL)->SetWindowText(csTempString);
|
|
|
|
csTempString = (pclTeam == NULL) ? ERO_C_szUnknown : pclTeam->m_csResponsibleName;
|
|
lMaxLength = max(dc.GetTextExtent(csTempString).cx, lMaxLength);
|
|
GetDlgItem(IDC_MODULE_RESPONSIBLE_NAME)->SetWindowText(csTempString);
|
|
|
|
csTempString = (pclTeam == NULL) ? ERO_C_szUnknown : pclTeam->m_csResponsiblePhoneNumber;
|
|
lMaxLength = max(dc.GetTextExtent(csTempString).cx, lMaxLength);
|
|
GetDlgItem(IDC_MODULE_RESPONSIBLE_PHONE)->SetWindowText(csTempString);
|
|
|
|
csTempString = (pclTeam == NULL) ? ERO_C_szUnknown : pclTeam->m_csResponsibleEMailAddress;
|
|
lMaxLength = max(dc.GetTextExtent(csTempString).cx, lMaxLength);
|
|
GetDlgItem(IDC_MODULE_RESPONSIBLE_MAIL)->SetWindowText(csTempString);
|
|
|
|
csTempString = (pclTeam == NULL) ? ERO_C_szUnknown : pclTeam->m_csSecondProgrammerName;
|
|
lMaxLength = max(dc.GetTextExtent(csTempString).cx, lMaxLength);
|
|
GetDlgItem(IDC_MODULE_SECOND_NAME)->SetWindowText(csTempString);
|
|
|
|
csTempString = (pclTeam == NULL) ? ERO_C_szUnknown : pclTeam->m_csSecondProgrammerPhoneNumber;
|
|
lMaxLength = max(dc.GetTextExtent(csTempString).cx, lMaxLength);
|
|
GetDlgItem(IDC_MODULE_SECOND_PHONE)->SetWindowText(csTempString);
|
|
|
|
csTempString = (pclTeam == NULL) ? ERO_C_szUnknown : pclTeam->m_csSecondProgrammerEMailAddress;
|
|
lMaxLength = max(dc.GetTextExtent(csTempString).cx, lMaxLength);
|
|
GetDlgItem(IDC_MODULE_SECOND_MAIL)->SetWindowText(csTempString);
|
|
|
|
break;
|
|
|
|
case ERO_STATIC_TYPE__ACTION:
|
|
{
|
|
csTempString = "Current action additionnal informations";
|
|
lMaxLength = max(dc.GetTextExtent(csTempString).cx, lMaxLength);
|
|
|
|
csTempString = g_csCurrentAction.IsEmpty() ? ERO_C_szUnknown : g_csCurrentAction;
|
|
lMaxLength = max(dc.GetTextExtent(csTempString).cx, lMaxLength);
|
|
GetDlgItem(IDC_CURRENT_ACTION)->SetWindowText(csTempString);
|
|
|
|
//Fills list box with strings
|
|
CStringList clStringList;
|
|
ErO_fn_vBuildStringListForInfos(g_csAddedInfo, &clStringList);
|
|
POSITION pos = clStringList.GetHeadPosition();
|
|
while (pos != NULL )
|
|
{
|
|
csTempString = clStringList.GetNext(pos);
|
|
lMaxLength = max(dc.GetTextExtent(csTempString).cx, lMaxLength);
|
|
((CListBox *)GetDlgItem(IDC_LIST_ADD_INFO))->AddString(csTempString);
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ERO_STATIC_TYPE__DEBUG:
|
|
csTempString = "Debug additionnal informations";
|
|
lMaxLength = max(dc.GetTextExtent(csTempString).cx, lMaxLength);
|
|
|
|
csTempString = g_csCurrentFileName;
|
|
lMaxLength = max(dc.GetTextExtent(csTempString).cx, lMaxLength);
|
|
GetDlgItem(IDC_FILE_NAME)->SetWindowText(csTempString);
|
|
|
|
csTempString.Format("%i", g_wCurrentFileLine);
|
|
lMaxLength = max(dc.GetTextExtent(csTempString).cx, lMaxLength);
|
|
GetDlgItem(IDC_LINE_NUMBER)->SetWindowText(csTempString);
|
|
|
|
csTempString = g_csLastModif;
|
|
lMaxLength = max(dc.GetTextExtent(csTempString).cx, lMaxLength);
|
|
GetDlgItem(IDC_FILE_DATE)->SetWindowText(csTempString);
|
|
|
|
csTempString = g_csCurrentFunction.IsEmpty() ? ERO_C_szUnknown : g_csCurrentFunction;
|
|
lMaxLength = max(dc.GetTextExtent(csTempString).cx, lMaxLength);
|
|
GetDlgItem(IDC_FUNCTION)->SetWindowText(csTempString);
|
|
|
|
break;
|
|
|
|
case ERO_STATIC_TYPE__SCRIPT:
|
|
csTempString = "Script additionnal informations";
|
|
lMaxLength = max(dc.GetTextExtent(csTempString).cx, lMaxLength);
|
|
|
|
csTempString = g_csCurrentScriptFileName.IsEmpty() ? ERO_C_szUnknown : g_csCurrentScriptFileName;
|
|
lMaxLength = max(dc.GetTextExtent(csTempString).cx, lMaxLength);
|
|
GetDlgItem(IDC_FILE_NAME)->SetWindowText(csTempString);
|
|
|
|
if ( !g_csCurrentScriptFileName.IsEmpty() )
|
|
csTempString.Format("%i", g_wCurrentScriptLine);
|
|
lMaxLength = max(dc.GetTextExtent(csTempString).cx, lMaxLength);
|
|
GetDlgItem(IDC_LINE_NUMBER)->SetWindowText(csTempString);
|
|
|
|
break;
|
|
|
|
case ERO_STATIC_TYPE__ADDITIONNAL:
|
|
csTempString = "Global informations";
|
|
lMaxLength = max(dc.GetTextExtent(csTempString).cx, lMaxLength);
|
|
|
|
csTempString = g_cslGravityMessages.GetAt(g_cslGravityMessages.FindIndex(g_eErrorGravity));
|
|
lMaxLength = max(dc.GetTextExtent(csTempString).cx, lMaxLength);
|
|
GetDlgItem(IDC_ERROR_TYPE)->SetWindowText(csTempString);
|
|
|
|
csTempString = g_cslGravityExplanations.GetAt(g_cslGravityExplanations.FindIndex(g_eErrorGravity));
|
|
lMaxLength = max(dc.GetTextExtent(csTempString).cx, lMaxLength);
|
|
GetDlgItem(IDC_EXPLANATION)->SetWindowText(csTempString);
|
|
|
|
break;
|
|
};
|
|
|
|
return lMaxLength + 10;
|
|
}
|
|
|
|
#ifdef ERO_BITMAP_AS_BACKGROUND
|
|
//***************************************************************************
|
|
void ErO_MoreInfoDialog::OnPaint()
|
|
{
|
|
CPaintDC dc(this); // device context for painting
|
|
|
|
//Displays BackGround bitmap
|
|
CDC pdc;
|
|
pdc.CreateCompatibleDC(&dc);
|
|
pdc.SelectObject(m_pri_cBackgroundBitmap);
|
|
|
|
//Gets Bitmap Size
|
|
short wBitmapHeight, wBitmapWidth;
|
|
wBitmapHeight = wBitmapWidth = 160;
|
|
CRect crClientRect;
|
|
GetClientRect(crClientRect);
|
|
char cXTileNumber = crClientRect.Width() / wBitmapWidth + 1;
|
|
char cYTileNumber = crClientRect.Height() / wBitmapHeight + 1;
|
|
char cXC, cYC;
|
|
|
|
for (cXC = 0; cXC < cXTileNumber; cXC ++)
|
|
{
|
|
for (cYC = 0; cYC < cYTileNumber; cYC ++)
|
|
{
|
|
//Tiles Bitmap
|
|
dc.BitBlt(cXC * wBitmapWidth,
|
|
cYC * wBitmapHeight,
|
|
wBitmapHeight, wBitmapWidth,
|
|
&pdc,
|
|
0, 0,
|
|
SRCCOPY);
|
|
}
|
|
}
|
|
|
|
|
|
// Do not call CDialog::OnPaint() for painting messages
|
|
}
|
|
#endif //ERO_BITMAP_AS_BACKGROUND
|