1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
void CReport::PrintReport(bool userInput)
{
CTime date = CTime::GetCurrentTime();
CString language = m_manageLanguage.GetLanguage();
CString header, footer = "";
if((language == "US-Feet") || (language == "US-Mil"))
{
header.Format("%d/%d/%d - %d:%d:%d", date.GetMonth(), date.GetDay(), date.GetYear(), date.GetHour(), date.GetMinute(), date.GetSecond());
}
else
{
header.Format("%d/%d/%d - %d:%d:%d", date.GetDay(), date.GetMonth(), date.GetYear(), date.GetHour(), date.GetMinute(), date.GetSecond());
}
// construct two element SAFEARRAY;
// first element is header string, second element is footer string
HRESULT hr;
VARIANT header_variant;
VariantInit(&header_variant);
V_VT(&header_variant) = VT_BSTR;
V_BSTR(&header_variant) = CString(header).AllocSysString();
VARIANT footer_variant;
VariantInit(&footer_variant);
V_VT(&footer_variant) = VT_BSTR;
V_BSTR(&footer_variant) = CString(footer).AllocSysString();
long index;
SAFEARRAYBOUND parameter_array_bound[1];
SAFEARRAY *parameter_array = NULL;
parameter_array_bound[0].cElements = 2;
parameter_array_bound[0].lLbound = 0;
parameter_array = SafeArrayCreate(VT_VARIANT,1,parameter_array_bound);
index = 0;
hr = SafeArrayPutElement(parameter_array,&index,&header_variant);
index = 1;
hr = SafeArrayPutElement(parameter_array,&index,&footer_variant);
VARIANT parameter;
VariantInit(¶meter);
V_VT(¶meter) = VT_ARRAY | VT_BYREF;
V_ARRAY(¶meter) = parameter_array;
OLECMDEXECOPT option;
if (userInput)
option = OLECMDEXECOPT_PROMPTUSER;
else
option = OLECMDEXECOPT_DONTPROMPTUSER;
// start printing browser contents
m_htmlReport.ExecWB(OLECMDID_PRINT, option, ¶meter, NULL);
} |
Partager