// Html2Bmp.cpp : Defines the class behaviors for the application. // // created: JurgenE // #include "stdafx.h" #include "Html2Bmp.h" #include "HtmlDlg.h" #include "FileDialogEx.h" #include "iostream.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CHtml2BmpApp BEGIN_MESSAGE_MAP(CHtml2BmpApp, CWinApp) //{{AFX_MSG_MAP(CHtml2BmpApp) // NOTE - the ClassWizard will add and remove mapping macros here. // DO NOT EDIT what you see in these blocks of generated code! //}}AFX_MSG ON_COMMAND(ID_HELP, CWinApp::OnHelp) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CHtml2BmpApp construction CHtml2BmpApp::CHtml2BmpApp() { // TODO: add construction code here, // Place all significant initialization in InitInstance } ///////////////////////////////////////////////////////////////////////////// // The one and only CHtml2BmpApp object CHtml2BmpApp theApp; ///////////////////////////////////////////////////////////////////////////// // CHtml2BmpApp initialization BOOL CHtml2BmpApp::InitInstance() { // Standard initialization // If you are not using these features and wish to reduce the size // of your final executable, you should remove from the following // the specific initialization routines you do not need. #ifdef _AFXDLL Enable3dControls(); // Call this when using MFC in a shared DLL #else Enable3dControlsStatic(); // Call this when linking to MFC statically #endif CHtmlDlg dlg; CString m_HtmlFile; CString m_TemplateBitmapFile; CString m_OutputBitmapFile; CStringArray* cmdLine = new CStringArray; CEigeneCommandLineInfo cmdInfo; cmdInfo.cmdLine = cmdLine; ParseCommandLine(cmdInfo); INT_PTR m = cmdLine->GetSize(); CString cTest; // read all command line options for(int j = 0; j < m; j++) { cTest = cmdLine->GetAt(j); cTest.MakeLower(); if(cTest == "?") // HTML file { CString help; help = "Usage: Html2Bmp [-h HTMLfile] [-t TemplateBitmap] [-o OutputBitmap]\n\r\n\r"; help += "Example: Html2Bmp -h c:\\scr\\screen1.html ; template bitmap will be extracted from screen1.html\n\r"; help += " Html2Bmp -h c:\\scr\\screen1.html -t template.bmp\n\r"; help += "\n\rContact: Jurgen Eidt"; AfxMessageBox(help, MB_ICONINFORMATION); return FALSE; } if(cTest == "h") // HTML file { if(j+1 < m) { m_HtmlFile = cmdLine->GetAt(j+1); j++; } continue; } if(cTest == "t") // Template bitmap file { if(j+1 < m) { m_TemplateBitmapFile = cmdLine->GetAt(j+1); j++; } continue; } if(cTest == "o") // output bitmap file { if(j+1 < m) { m_OutputBitmapFile = cmdLine->GetAt(j+1); j++; } continue; } } cmdLine->RemoveAll(); delete cmdLine; if(m_HtmlFile.IsEmpty()) { CFileDialogEx fd(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "HTML files (*.html;*.htm) |*.html;*.htm|All files (*.*)|*.*||", NULL ); if(fd.DoModal() == IDOK) m_HtmlFile = fd.GetPathName(); else return FALSE; } dlg.m_HtmlFile = m_HtmlFile; dlg.m_TemplateBitmapFile = m_TemplateBitmapFile; dlg.m_OutputBitmapFile = m_OutputBitmapFile; dlg.DoModal(); /* CHtml2BmpDlg dlg; m_pMainWnd = &dlg; int nResponse = dlg.DoModal(); if (nResponse == IDOK) { // TODO: Place code here to handle when the dialog is // dismissed with OK } else if (nResponse == IDCANCEL) { // TODO: Place code here to handle when the dialog is // dismissed with Cancel } */ // Since the dialog has been closed, return FALSE so that we exit the // application, rather than start the application's message pump. return FALSE; } void CEigeneCommandLineInfo::ParseParam( LPCTSTR lpszParam, BOOL bFlag, BOOL bLast ) { /* lpszParam The parameter or flag. bFlag Indicates whether lpszParam is a parameter or a flag. bLast Indicates if this is the last parameter or flag on the command line. */ // disable the shell from processing the user defined cmd line arguments // CCommandLineInfo::ParseParam(lpszParam, bFlag, bLast); cmdLine->Add(lpszParam); }