Mercurial > mercurial > hgweb_searcher2.cgi
diff src/myframe.cpp @ 13:3e045b68738a
Finish EazyPrint implement.
author | pyon@macmini |
---|---|
date | Fri, 01 Jul 2011 19:54:15 +0900 |
parents | 9452ed888d10 |
children | b67c74848dd0 |
line wrap: on
line diff
--- a/src/myframe.cpp Sun Jun 26 13:43:46 2011 +0900 +++ b/src/myframe.cpp Fri Jul 01 19:54:15 2011 +0900 @@ -1,5 +1,5 @@ // Filename : mainframe.cpp -// Last Change: 24-Jun-2011. +// Last Change: 01-Jul-2011. // #include "wx/html/htmprint.h" #include "wx/print.h" @@ -165,7 +165,7 @@ wxRegEx reHhs(wxT("^0[1238][0-9]{8}$")); // 1:被保番チェック wxRegEx reCno(wxT("^[0-9]{1,2}$")); // 2:開くフォルダの番号 - wxRegEx rePrint(wxT("^\\.[0-9]*$")); // 3:印刷するフォルダの番号 + wxRegEx rePrint(wxT("^\\+$")); // 3:印刷するフォルダの番号 wxString cmd; cmd = this->GetLineText(0); @@ -287,6 +287,7 @@ htmlbody += wxT("</table>"); htmlbody += wxT("<br />"); htmlbody += wxT("<div>"); + htmlbody += wxT("テンキーの「+」ボタンで番号1の画像を印刷できます.<br />"); htmlbody += wxT("フォルダを開くには,番号を入力してください.<br />"); htmlbody += wxT("他の被保険者を検索するには,被保番を入力してください."); htmlbody += wxT("</div>"); @@ -382,26 +383,45 @@ // functions void MyCmdBox::PrintImages( wxString& path ) { - wxHtmlPrintout* hpout = new wxHtmlPrintout( wxT("Searcher2") ); - hpout->SetMargins( 0,0,0,0,0 ); - wxPrintDialogData* pd; - wxPrinter* p = new wxPrinter( pd ); + wxHtmlPrintout hpout( wxT("Searcher2") ); + hpout.SetMargins( 0,0,0,0,0 ); + wxPrintDialogData pd; + wxPrinter p( &pd ); wxDir dir(path); wxString file; if ( !dir.IsOpened() ) return; bool cout = dir.GetFirst( &file, wxT("*.jpg"), wxDIR_FILES ); + bool mask_flg = true; + wxRect cmname( wxPoint(156,224), wxSize(1204,122) ); + wxRect cmno( wxPoint(856,1024), wxSize(1060,598) ); while ( cout ) { file = path + wxFILE_SEP_PATH + file; file.Replace( wxT("\\"), wxT("/") ); wxString html; - html = html + wxT("<html><body>"); - html = html + wxT("<img src=\"") + file + wxT("\" width=\"750\" height=\"1060\"/>"); - html = html + wxT("</body></html>"); - hpout->SetHtmlText( html, wxEmptyString, false ); - p->Print( NULL, hpout, false ); + if ( mask_flg ) { // 1枚目はマスクする + wxImage img_org( file, wxBITMAP_TYPE_JPEG ); + img_org.SetRGB( cmname, 255, 255, 255 ); + img_org.SetRGB( cmno, 255, 255, 255 ); + img_org.SaveFile( wxT("tmp/tmp.jpg") ); + + html = html + wxT("<html><body>"); + html = html + wxT("<img src=\"tmp/tmp.jpg\" width=\"750\" height=\"1060\"/>"); + html = html + wxT("</body></html>"); + hpout.SetHtmlText( html, wxEmptyString, false ); + p.Print( NULL, &hpout, true ); + pd = p.GetPrintDialogData(); + mask_flg = false; + } + else { + html = html + wxT("<html><body>"); + html = html + wxT("<img src=\"") + file + wxT("\" width=\"750\" height=\"1060\"/>"); + html = html + wxT("</body></html>"); + hpout.SetHtmlText( html, wxEmptyString, false ); + p.Print( NULL, &hpout, false ); + } cout = dir.GetNext( &file ); } return; @@ -617,6 +637,7 @@ if ( f == NULL ) { HtmlHelpFrame *helpframe = new HtmlHelpFrame( wxT("Online Help"), ID_HELP ); + helpframe->SetSize(600,600); helpframe->Show(true); } else {