// ChoosePhotoSkin2.cpp : implementation file // #include "stdafx.h" #include "ChoosePhotoSkin2.h" #include "YLGL.h" #include "./helper/ffsco.h" #include ".\MenuBarXP\MenuXP.h" #include "ChoosePhotoSkin3.h" #include "ShowPic22.h" #include "ClientRequirement.h" #include "MyLock.h" #include "Time5.h" #include "ComparePhoto.h" #include "ReplaceDesignNo.h" #include "Login2.h" #include "ImportPhoto.h" #include "TimeOutDlg.h" #include "ShowEffect.h" #include "SelBrunDevice.h" #include "ProductChooseFilter.h" #define THUMBNAIL_WIDTH 100 #define THUMBNAIL_HEIGHT 90 extern HCURSOR g_cursorhand; //mode //0 全部 //1 选中 //2 未选 //3 删除 //4 入册 //5 入底 ///////////////////////////////////////////////////////////////////////////// //extern void WriteClientLog(CString str); // Jeff写客户端日志; // ChoosePhotoSkin2 dialog IDC_EDITzs ChoosePhotoSkin2::ChoosePhotoSkin2(CWnd* pParent /*=NULL*/) : CDialog(ChoosePhotoSkin2::IDD, pParent) { //{{AFX_DATA_INIT(ChoosePhotoSkin2) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT m_pBk=NULL; m_pParent=NULL; m_name1 = _T(""); m_name2 = _T(""); m_time4 = g_date; m_waiter3 = _T(""); m_takezs = _T(""); m_taoxizs = _T(""); m_choosezs = _T(""); m_strOrderNumber = _T(""); m_money3 = _T(""); m_bz3 = _T(""); //}}AFX_DATA_INIT m_bTerminate=false; m_bRunning=false; m_hThread = NULL; m_bSave=0; m_bModify=0; m_mode=0; m_showpichwd=NULL; m_mode2=0; g_pMainWnd->GetSkin(); m_bSort=0; m_bHide=atoi(g_cominfoarray.ElementAt(0).ElementAt(59)); m_pArray=NULL; m_bShowTimeOut=1; m_bCanSave=1; m_bGrowthTX=0; m_nChoosePhotoType=0; m_bChooseBig=0; m_bFromLocal=0; } ChoosePhotoSkin2::ChoosePhotoSkin2(DWORD id, CWnd* pParent) : CDialog(id, pParent) { //{{AFX_DATA_INIT(ChoosePhotoSkin2) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT m_pBk=NULL; m_pParent=NULL; } void ChoosePhotoSkin2::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(ChoosePhotoSkin2) DDX_Control(pDX, IDC_COMBO1, m_combo1); DDX_Control(pDX, IDC_EDITzs3, m_editnum4); DDX_Control(pDX, IDC_EDITzs2, m_editnum3); DDX_Control(pDX, IDC_EDITzs, m_editnum2); DDX_Control(pDX, IDC_EDITmoney3, m_editnum1); DDX_Control(pDX, IDC_LIST3, m_List3); DDX_Control(pDX, IDC_LIST2, m_List2); DDX_Control(pDX, IDC_LIST1, m_List1); DDX_Text(pDX, IDC_EDITname1, m_name1); DDX_Text(pDX, IDC_EDITname2, m_name2); DDX_Text(pDX, IDC_EDITtime4, m_time4); DDX_Text(pDX, IDC_EDITwaiter3, m_waiter3); DDX_Text(pDX, IDC_EDITzs, m_takezs); DDX_Text(pDX, IDC_EDITzs2, m_taoxizs); DDX_Text(pDX, IDC_EDITzs3, m_choosezs); DDX_Text(pDX, IDC_EDITmoney3, m_money3); DDX_Text(pDX, IDC_EDITid, m_strOrderNumber); DDX_Text(pDX, IDC_EDITbz3, m_bz3); //}}AFX_DATA_MAP} } BEGIN_MESSAGE_MAP(ChoosePhotoSkin2, CDialog) //{{AFX_MSG_MAP(ChoosePhotoSkin2) ON_WM_PAINT() ON_WM_DESTROY() ON_WM_ERASEBKGND() ON_NOTIFY(NM_DBLCLK, IDC_LIST1, OnDblclkList1) ON_WM_CLOSE() ON_NOTIFY(NM_RCLICK, IDC_LIST1, OnRclickList1) ON_BN_CLICKED(IDC_BUTTON1, OnButton1) ON_BN_CLICKED(IDC_BUTTON2, OnButton2) ON_BN_CLICKED(IDC_BUTTON3, OnButton3) ON_BN_CLICKED(IDC_BUTTON4, OnButton4) ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1) ON_WM_TIMER() ON_BN_CLICKED(IDC_BUTTON7, OnSpBox) ON_BN_CLICKED(IDC_BUTTON8, OnButton8) ON_BN_CLICKED(IDC_BUTTON5, OnButton5) ON_BN_CLICKED(IDC_BUTTON6, OnButton6) //}}AFX_MSG_MAP ON_MESSAGE(WM_USER+1101,OnBtnClick) ON_COMMAND_RANGE(IDM_MENUsp1-1, IDM_MENUsp1+200, OnCommandMenu) ON_MESSAGE(WM_USER+200, UpdateTakeZS) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // ChoosePhotoSkin2 message handlers extern void SizeToContent(HWND hwnd, Image *img); #ifdef VC60 void ChoosePhotoSkin2::OnBtnClick (WPARAM wParam, LPARAM lParam) // F5按键,显示删除相片 { int id=lParam; id-=99; switch(id) { case 1: case 2: case 4: if(m_mode==id-1 && m_mode!=1)return; m_mode=id-1; LoadPhotos(); break; case 3://查看未选 if(m_mode==id-1)return; m_sChooseFilter=""; UpdateChooseZS(); GetNoSelPhoto(); m_mode=id-1; LoadPhotos(); break; case 13: GetAlbumPhoto(); break; case 14: GetDiskPhoto(); break; case 15: { ShowEffectDlg dlg; dlg.m_pPhotopatharray=this->GetCurArray (); dlg.DoModal(); } break; case 5: OnButton4(); break; case 9: { if(((MyBmpButton2*)m_picarray.ElementAt (8))->GetPushDown ()) ((MyBmpButton2*)m_picarray.ElementAt (8))->SetPushDown (0); else ((MyBmpButton2*)m_picarray.ElementAt (8))->SetPushDown (1); ReLoadPhoto(); /* if(AfxMessageBox("删除后将无法恢复, 确认删除吗?", MB_YESNO|MB_ICONSTOP)!=IDYES)return ; CString sql; sql="update dindansp set [no2]='' where [id]='"+m_strOrderNumber+"'"; g_sendhead.bsql=1; g_pMainWnd->ProcessChatMessageRequest2(sql); if(g_bSendOK==0)return; CString path=m_path; path.TrimRight ('\\'); DeleteDirectory(path); GetPhotos(); LoadPhotos();*/ } break; case 10: { POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { AfxMessageBox("请先选中您要删除的照片!", MB_ICONINFORMATION); return; } if(AfxMessageBox("删除后将无法恢复, 确认删除吗?", MB_YESNO|MB_ICONSTOP)!=IDYES)return; while (pos) { int iItem=m_List1.GetNextSelectedItem(pos); CString title=m_List1.GetItemText (iItem, 0); int pos=title.Find ("\r\n"); if(pos!=-1)title=title.Left (pos); if(m_mode2==1)//看设计 { if(title.Find ("Flash")!=-1) { title.Replace ("Flash", "delgabook"); CString str=m_path+title; DeleteDirectory(str); GetPhotos(); LoadPhotos(); return; } } ::DeleteFile (m_path+title+".jpg"); ::DeleteFile (m_path+"s"+title+".jpg"); //////////////// CStringArray *pArray=GetCurArray(); CString path=pArray->ElementAt (iItem); path=path.Right (path.GetLength ()-path.ReverseFind ('\\')-1); path=path.Left (path.ReverseFind ('.')); if(CheckName(path)) { path=","+path+","; for(int i=0; im_strOrderNumber ; dlg.DoModal (); } /* if(m_selphotownd2.GetSafeHwnd ()==NULL) { m_selphotownd2.m_id=m_id; m_selphotownd2.m_rc=m_rcarray.ElementAt (6); m_selphotownd2.Create (IDD_DLGShowSelPhoto2, this); } m_selphotownd2.ShowWindow (1);*/ break; } } #else LRESULT ChoosePhotoSkin2::OnBtnClick (WPARAM wParam, LPARAM lParam) // F5按键,显示删除相片 { int id=lParam; id-=99; switch(id) { case 1: case 2: case 4: if(m_mode==id-1 && m_mode!=1)return 0; m_mode=id-1; LoadPhotos(); break; case 3://查看未选 if(m_mode==id-1)return 0; m_sChooseFilter=""; UpdateChooseZS(); GetNoSelPhoto(); m_mode=id-1; LoadPhotos(); break; case 13: GetAlbumPhoto(); break; case 14: GetDiskPhoto(); break; case 15: { ShowEffectDlg dlg; dlg.m_pPhotopatharray=this->GetCurArray (); dlg.DoModal(); } break; case 5: OnButton4(); break; case 9: { if(((MyBmpButton2*)m_picarray.ElementAt (8))->GetPushDown ()) ((MyBmpButton2*)m_picarray.ElementAt (8))->SetPushDown (0); else ((MyBmpButton2*)m_picarray.ElementAt (8))->SetPushDown (1); ReLoadPhoto(); /* if(AfxMessageBox("删除后将无法恢复, 确认删除吗?", MB_YESNO|MB_ICONSTOP)!=IDYES)return ; CString sql; sql="update dindansp set [no2]='' where [id]='"+m_strOrderNumber+"'"; g_sendhead.bsql=1; g_pMainWnd->ProcessChatMessageRequest2(sql); if(g_bSendOK==0)return; CString path=m_path; path.TrimRight ('\\'); DeleteDirectory(path); GetPhotos(); LoadPhotos();*/ } break; case 10: { POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { AfxMessageBox("请先选中您要删除的照片!", MB_ICONINFORMATION); return 0; } if(AfxMessageBox("删除后将无法恢复, 确认删除吗?", MB_YESNO|MB_ICONSTOP)!=IDYES)return 0; while (pos) { int iItem=m_List1.GetNextSelectedItem(pos); CString title=m_List1.GetItemText (iItem, 0); int pos=title.Find ("\r\n"); if(pos!=-1)title=title.Left (pos); if(m_mode2==1)//看设计 { if(title.Find ("Flash")!=-1) { title.Replace ("Flash", "delgabook"); CString str=m_path+title; DeleteDirectory(str); GetPhotos(); LoadPhotos(); return 0; } } ::DeleteFile (m_path+title+".jpg"); ::DeleteFile (m_path+"s"+title+".jpg"); //////////////// CStringArray *pArray=GetCurArray(); CString path=pArray->ElementAt (iItem); path=path.Right (path.GetLength ()-path.ReverseFind ('\\')-1); path=path.Left (path.ReverseFind ('.')); if(CheckName(path)) { path=","+path+","; for(int i=0; im_strOrderNumber ; dlg.DoModal (); } /* if(m_selphotownd2.GetSafeHwnd ()==NULL) { m_selphotownd2.m_id=m_id; m_selphotownd2.m_rc=m_rcarray.ElementAt (6); m_selphotownd2.Create (IDD_DLGShowSelPhoto2, this); } m_selphotownd2.ShowWindow (1);*/ break; } } #endif BOOL ChoosePhotoSkin2::OnInitDialog() //初始化选片*看设计 { //AfxMessageBox("Jeff"); CDialog::OnInitDialog(); #if 1 g_bInSkin=1; m_ticks=::GetTickCount (); // TODO: Add extra initialization here if(g_cursorhand==NULL) g_cursorhand=AfxGetApp()->LoadCursor(IDC_CURSORHAND); BYTE *pData=NULL; BYTE *pDataBegin; //printf("Jeff:loadLia路径:%s\n\n",g_mainpath+"\\skin\\"+m_liapath);//Jeff Printf; if(!LoadLia(g_mainpath+"\\skin\\"+m_liapath, &pData, &pDataBegin, &m_pBk, m_hWnd)) { EndDialog(0); return false; } //printf("Jeff:g_resdata2.nPicCount=%d\n\n",g_resdata2.nPicCount); // Jeff Printf,这个nPicCount好像一直是15; for(int i=0; iCreate(str, WS_CHILD|WS_VISIBLE|BS_OWNERDRAW , rc, this, i+100); pic->m_bmpcount =g_resdata2.nPicBmpCount [i]; pic->ReadBmp (&pData, NULL, this); #ifdef SZWNS_VERSION if(i==3 && m_mode2==0) { Image *img=NULL; LoadImageFromRes(&img, MAKEINTRESOURCE(IDR_JPG6), _T("JPG") ); delete pic->m_bmp; pic->m_bmp=img->Clone(); delete img; img=NULL; LoadImageFromRes(&img, MAKEINTRESOURCE(IDR_JPG7), _T("JPG") ); delete pic->m_bmpfocus; pic->m_bmpfocus=img->Clone(); delete img; img=NULL; LoadImageFromRes(&img, MAKEINTRESOURCE(IDR_JPG8), _T("JPG") ); delete pic->m_bmpfocused; pic->m_bmpfocused=img->Clone(); delete img; } #endif } else m_picarray.Add (NULL); m_rcarray.Add(g_resdata2.rect[i]); } delete []pDataBegin; if(m_mode2)//看设计 { m_bHide=0; // printf("Jeff:g_cominfoarray.ElementAt(0).ElementAt(86)=%s\n\n",g_cominfoarray.ElementAt(0).ElementAt(86)); // Jeff Printf; if(atoi(g_cominfoarray.ElementAt(0).ElementAt(86))) { ((MyBmpButton2*)m_picarray.ElementAt (3))->ShowWindow (SW_HIDE); CRect rc,rc2; ((MyBmpButton2*)m_picarray.ElementAt (3))->GetWindowRect(rc); ((MyBmpButton2*)m_picarray.ElementAt (1))->GetWindowRect(rc2); int dtx=rc.right -rc2.right ; ScreenToClient(rc2); rc2.left +=dtx; rc2.right +=dtx; ((MyBmpButton2*)m_picarray.ElementAt (1))->MoveWindow(rc2); ((MyBmpButton2*)m_picarray.ElementAt (0))->GetWindowRect(rc2); ScreenToClient(rc2); rc2.left +=dtx; rc2.right +=dtx; ((MyBmpButton2*)m_picarray.ElementAt (0))->MoveWindow(rc2); } CRect rc,rc2; ((MyBmpButton2*)m_picarray.ElementAt (5))->GetWindowRect(rc); ((MyBmpButton2*)m_picarray.ElementAt (4))->GetWindowRect(rc2); int dtx=rc.right -rc2.right ; rc2=rc; // if(atoi(g_cominfoarray.ElementAt(0).ElementAt(86))==0) { float scale=0.9; dtx*=scale; int wid=rc2.Width ()*scale; int hei=rc2.Height ()*scale; int dty=rc2.Height ()-hei; dty/=2; rc2.left =rc2.right -wid; rc2.top +=dty; rc2.bottom =rc2.top +hei; } ScreenToClient(rc2); ((MyBmpButton2*)m_picarray.ElementAt (5))->MoveWindow(rc2); rc2.left -=dtx; rc2.right -=dtx; ((MyBmpButton2*)m_picarray.ElementAt (4))->MoveWindow(rc2); rc2.left -=dtx; rc2.right -=dtx; ((MyBmpButton2*)m_picarray.ElementAt (14))->MoveWindow(rc2); rc2.left -=dtx; rc2.right -=dtx; ((MyBmpButton2*)m_picarray.ElementAt (2))->MoveWindow(rc2); if(atoi(g_cominfoarray.ElementAt(0).ElementAt(86))==0) { rc2.left -=dtx; rc2.right -=dtx; ((MyBmpButton2*)m_picarray.ElementAt (3))->MoveWindow(rc2); } rc2.left -=dtx; rc2.right -=dtx; ((MyBmpButton2*)m_picarray.ElementAt (1))->MoveWindow(rc2); rc2.left -=dtx; rc2.right -=dtx; ((MyBmpButton2*)m_picarray.ElementAt (0))->MoveWindow(rc2); rc2.left -=dtx; rc2.right -=dtx; ((MyBmpButton2*)m_picarray.ElementAt (8))->MoveWindow(rc2); ((MyBmpButton2*)m_picarray.ElementAt (11))->ShowWindow (SW_HIDE); } else { if(atoi(g_cominfoarray.ElementAt(0).ElementAt(86))) { ((MyBmpButton2*)m_picarray.ElementAt (3))->ShowWindow (SW_HIDE); CRect rc,rc2; ((MyBmpButton2*)m_picarray.ElementAt (3))->GetWindowRect(rc); ((MyBmpButton2*)m_picarray.ElementAt (1))->GetWindowRect(rc2); int dtx=rc.right -rc2.right ; ScreenToClient(rc2); rc2.left +=dtx; rc2.right +=dtx; ((MyBmpButton2*)m_picarray.ElementAt (1))->MoveWindow(rc2); ((MyBmpButton2*)m_picarray.ElementAt (0))->GetWindowRect(rc2); ScreenToClient(rc2); rc2.left +=dtx; rc2.right +=dtx; ((MyBmpButton2*)m_picarray.ElementAt (0))->MoveWindow(rc2); } } if(1)//m_mode2==0) { ((MyBmpButton2*)m_picarray.ElementAt (7))->ShowWindow (SW_HIDE); ((MyBmpButton2*)m_picarray.ElementAt (8))->ShowWindow (SW_HIDE); ((MyBmpButton2*)m_picarray.ElementAt (9))->ShowWindow (SW_HIDE); ((MyBmpButton2*)m_picarray.ElementAt (10))->ShowWindow (SW_HIDE); ((MyBmpButton2*)m_picarray.ElementAt (11))->ShowWindow (SW_HIDE); } else { ((MyBmpButton2*)m_picarray.ElementAt (7))->EnableWindow (0); ((MyBmpButton2*)m_picarray.ElementAt (0))->ShowWindow (SW_HIDE); ((MyBmpButton2*)m_picarray.ElementAt (1))->ShowWindow (SW_HIDE); ((MyBmpButton2*)m_picarray.ElementAt (2))->ShowWindow (SW_HIDE); ((MyBmpButton2*)m_picarray.ElementAt (3))->ShowWindow (SW_HIDE); ((MyBmpButton2*)m_picarray.ElementAt (11))->ShowWindow (SW_HIDE); if(IsHasRights2new(37)==0) { ((MyBmpButton2*)m_picarray.ElementAt (8))->ShowWindow (SW_HIDE); ((MyBmpButton2*)m_picarray.ElementAt (9))->ShowWindow (SW_HIDE); } } if(m_mode2) { ((MyBmpButton2*)m_picarray.ElementAt (8))->ShowWindow (SW_SHOW); // ((MyBmpButton2*)m_picarray.ElementAt (8))->SetPushDown (1); ((MyBmpButton2*)m_picarray.ElementAt (12))->ShowWindow (SW_HIDE); ((MyBmpButton2*)m_picarray.ElementAt (13))->ShowWindow (SW_HIDE); } else//移按钮位置 { CRect rc,rc2; ((MyBmpButton2*)m_picarray.ElementAt (5))->GetWindowRect(rc); ((MyBmpButton2*)m_picarray.ElementAt (4))->GetWindowRect(rc2); int dtx=rc.right -rc2.right ; rc2=rc; // if(atoi(g_cominfoarray.ElementAt(0).ElementAt(86))==0) { float scale=0.9; dtx*=scale; int wid=rc2.Width ()*scale; int hei=rc2.Height ()*scale; int dty=rc2.Height ()-hei; dty/=2; rc2.left =rc2.right -wid; rc2.top +=dty; rc2.bottom =rc2.top +hei; } ScreenToClient(rc2); ((MyBmpButton2*)m_picarray.ElementAt (5))->MoveWindow(rc2); rc2.left -=dtx; rc2.right -=dtx; ((MyBmpButton2*)m_picarray.ElementAt (4))->MoveWindow(rc2); rc2.left -=dtx; rc2.right -=dtx; ((MyBmpButton2*)m_picarray.ElementAt (14))->MoveWindow(rc2); rc2.left -=dtx; rc2.right -=dtx; ((MyBmpButton2*)m_picarray.ElementAt (2))->MoveWindow(rc2); if(atoi(g_cominfoarray.ElementAt(0).ElementAt(86))==0) { rc2.left -=dtx; rc2.right -=dtx; ((MyBmpButton2*)m_picarray.ElementAt (3))->MoveWindow(rc2); } rc2.left -=dtx; rc2.right -=dtx; ((MyBmpButton2*)m_picarray.ElementAt (12))->MoveWindow(rc2); rc2.left -=dtx; rc2.right -=dtx; ((MyBmpButton2*)m_picarray.ElementAt (13))->MoveWindow(rc2); rc2.left -=dtx; rc2.right -=dtx; ((MyBmpButton2*)m_picarray.ElementAt (1))->MoveWindow(rc2); rc2.left -=dtx; rc2.right -=dtx; ((MyBmpButton2*)m_picarray.ElementAt (0))->MoveWindow(rc2); } #ifndef MNLS_VERSION ((MyBmpButton2*)m_picarray.ElementAt (7))->ShowWindow (SW_HIDE); ((MyBmpButton2*)m_picarray.ElementAt (7))->EnableWindow (0); Graphics graph(m_pBk); Image *img=NULL; if(m_mode2==0) ::LoadImageFromBuf (&img, g_mainpath+"\\图片\\标题-选片.jpg"); else ::LoadImageFromBuf (&img, g_mainpath+"\\图片\\标题-看设计.jpg"); if(img) { if(img->GetWidth()==2000) { graph.SetSmoothingMode(SmoothingModeHighQuality); graph.DrawImage(img, 0,0); } delete img; } #endif CRect listrc=m_rcarray.ElementAt (6); CRect rc; GetClientRect(rc); rc.top=listrc.top; m_List1.MoveWindow (rc); CString path,str; if(m_mode2) { m_path=g_path3+"\\"; m_path+=m_strOrderNumber; m_path +="\\"; // printf("Jeff:m_path=%s\n\n",m_path); // Jeff Printf; } if(m_mode2)//看设计 { GetPhotos(); } else // 开始选片 { //AfxMessageBox("789"); IsGrowthTx growthtxdlg; growthtxdlg.m_mode=1; growthtxdlg.m_strOrderNumber=m_strOrderNumber; growthtxdlg.DoModal (); m_bGrowthTX=growthtxdlg.m_bGrowthTx; m_seltxname=growthtxdlg.m_seltxname; /*if(!growthtxdlg.m_seltxname.IsEmpty ()) { if(growthtxdlg.m_seltxname!="全部") { path+=growthtxdlg.m_seltxname; path+="\\"; } }*/ // HC:缓存,checkHC检查在本机是否存在缓存的相片; if( CheckHC() ) // (一般返回0)这一步是查看C:\WINDOWS\System32\有没有lyfz的文件夹,以及该文件夹下是否有订单号文件夹和相片; { //AfxMessageBox("789"); m_bFromLocal=1; char path[MAX_PATH]; ::GetSystemDirectory (path, MAX_PATH); CString sysdir=path; sysdir+="\\lyfz"; ::CreateDirectory (sysdir, NULL); sysdir+="\\"; sysdir+=m_strOrderNumber; using namespace helper_coffs; ffsco o; o.dirs(1); o.find(LPCSTR(sysdir), LPCSTR("*.jpg")); ffsco::typeT coo; ffsco::typeT::iterator it; coo = o.co_file(); for (it = coo.begin();coo.end() != it;it ++) { str=(*it).c_str(); // printf("Jeff:str=%s\n\n",str);// Jeff Printf if(str.GetAt (str.ReverseFind ('\\')+1)!='s' && str.GetAt (str.ReverseFind ('\\')+1)!='m') { m_patharray1.Add (str); } } } //printf("Jeff:m_patharray1.GetSize()=%d\n\n",m_patharray1.GetSize());// Jeff Printf; if(m_patharray1.GetSize() == 0) // m_patharray1:查看全部相片. { if(IsPhoto2Exist())//如果订单文件夹存在; { SelBrunDevice dlg; dlg.m_mode=1; if(dlg.DoModal()==IDOK) // m_nChoosePhotoType=0:原片+修片; =1:修片; =2:原片 m_nChoosePhotoType=dlg.m_sel; else m_nChoosePhotoType=0; } else AfxMessageBox("温馨提示:\r\n未找到初修片,将使用原片选片", MB_ICONINFORMATION); CString path2; m_path=g_path1+"\\"; m_path+=m_strOrderNumber; m_path +="\\"; if(m_seltxname != "" && m_seltxname != "全部") { m_path+=m_seltxname; m_path +="\\"; //printf("Jeff:m_path1=%s\n\n",m_path);// Jeff Printf; } if(m_nChoosePhotoType==1) // 选片:选择修片文件夹; { m_path=g_path2+"\\"; m_path+=m_strOrderNumber; m_path +="\\"; //printf("Jeff:m_path2=%s\n\n",m_path);// Jeff Printf; } // 查找m_path下所有文件o.find(...); CString filename; using namespace helper_coffs; ffsco o; o.dirs(1); o.find(LPCSTR(m_path), LPCSTR("*.*")); //printf("Jeff:文件夹=%d, m_path=%s\n\n",m_nChoosePhotoType,m_path);//Jeff Printf; ffsco::typeT coo; ffsco::typeT::iterator it; coo = o.co_file(); for (it = coo.begin(); coo.end() != it; it ++) // 遍历文件夹; { path=(*it).c_str(); //printf("Jeff:path=%s\n\n",path);//Jeff Printf; if(path.GetAt(path.ReverseFind ('\\')+1) != 's' && path.GetAt(path.ReverseFind ('\\')+1) != 'm') { path.MakeLower (); filename=path.Right(path.GetLength()-path.ReverseFind ('\\')-1); if(filename.Find(".")!=-1) filename=filename.Left(filename.Find(".")); if(!myisdigit(filename))continue; if(m_nChoosePhotoType==1) // m_patharray1只添加修片文件夹; { m_patharray1.Add(path); //printf("Jeff:修片:m_patharray1.Add(%s)=%s\n\n",path);//Jeff Printf; } else // m_nChoosePhotoType=0,2 { path2 = path; if(m_nChoosePhotoType==0) // 原片+修片; { path2.Replace("客户原片", "修好的片"); //printf("Jeff:原片+修片 path2=%s\n\n",path2); // Jeff Printf; } if(m_bGrowthTX==0) { int pos = path2.Find(m_strOrderNumber); pos += m_strOrderNumber.GetLength(); int pos2 = path2.ReverseFind('\\'); path2 = path2.Left(pos)+path2.Right(path2.GetLength()-pos2); } if(m_nChoosePhotoType==0 && ::PathFileExists(path2)) // 原片+修片; { m_patharray1.Add(path2); //printf("Jeff:原片+修片:m_patharray1.Add(%s)=%s\n\n",path2);//Jeff Printf; } else //if( m_nChoosePhotoType == 2 ) // 只有原片; { path2.Replace(".raw", ".jpg"); if(::PathFileExists (path2)) { m_patharray1.Add(path2);continue; } path2.Replace (".nef", ".jpg"); if(::PathFileExists(path2)) { m_patharray1.Add(path2);continue; } path2.Replace (".cr2", ".jpg"); if(::PathFileExists(path2)) { m_patharray1.Add(path2);continue; } else { if(path.Right(3)!="jpg")continue; m_patharray1.Add (path); } } } } } if( m_nChoosePhotoType != 2) // Jeff:如果不是只查看原片; {//多种修好的效果 CString path2; path2=g_path2+"\\"; path2+=m_strOrderNumber; path2 +="\\"; //printf("Jeff:****paht2=%s\n\n",path2);//Jeff Printf;path2="修好的片" using namespace helper_coffs; ffsco o; o.dirs(0); o.find(LPCSTR(path2), LPCSTR("*.jpg")); ffsco::typeT coo; ffsco::typeT::iterator it; coo = o.co_file(); for (it = coo.begin(); coo.end() != it;it ++) { path=(*it).c_str(); if(path.GetAt (path.ReverseFind ('\\')+1)!='s' && path.GetAt (path.ReverseFind ('\\')+1)!='m') { path.MakeLower (); path2=path.Right (path.GetLength ()-path.ReverseFind ('\\')-1); if(path2.Find ("-")!=-1) { m_patharray1.Add (path); } } } } ///////////////// if(0)//atoi(g_cominfoarray.ElementAt(0).ElementAt(109))==0) { char path[MAX_PATH]; ::GetSystemDirectory (path, MAX_PATH); CString sysdir=path; sysdir+="\\lyfz"; ::CreateDirectory (sysdir, NULL); sysdir+="\\"; sysdir+=m_strOrderNumber; ::CreateDirectory (sysdir, NULL); sysdir+="\\"; ImportPhoto dlg; dlg.m_bCopyToLocal=1; dlg.m_mode =1; dlg.m_pArray=&m_patharray1; dlg.m_savepath =sysdir; dlg.DoModal (); CStringArray temparray; CString filename; for(int i=0; im_bmpdisable=btn->m_bmp->Clone(); Graphics graph(btn->m_bmpdisable); CPoint pt1,pt2,pt3; pt1.x=0; pt1.y=0; pt2.x=btn->m_bmp->GetWidth(); pt2.y=0; pt3.x=0; pt3.y=btn->m_bmp->GetHeight(); Point destinationPoints[] = { Point(pt1.x, pt1.y), // destination for upper-left point of original Point(pt2.x, pt2.y), // destination for upper-right point of original Point(pt3.x, pt3.y)}; // destination for lower-left point of original ColorMatrix colorMatrix = \ {0.33f, 0.33f, 0.33f, 0.0f, 0.0f, 0.33f, 0.33f, 0.33f, 0.0f, 0.0f, 0.33f, 0.33f, 0.33f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}; ImageAttributes imageAtt; imageAtt.SetColorMatrix(&colorMatrix, ColorMatrixFlagsDefault,ColorAdjustTypeBitmap); graph.DrawImage(btn->m_bmp, destinationPoints, 3, 0, 0, btn->m_bmp->GetWidth(), btn->m_bmp->GetHeight(), UnitPixel, &imageAtt); btn->EnableWindow (0); m_bCanSave=0; // CDialog::OnCancel (); // return 1; } else if(IsHasRightsnew2(20, dlg.m_rights)==0) { MyBmpButton2 *btn=((MyBmpButton2*)m_picarray.ElementAt (4)); btn->m_bmpdisable=btn->m_bmp->Clone(); Graphics graph(btn->m_bmpdisable); CPoint pt1,pt2,pt3; pt1.x=0; pt1.y=0; pt2.x=btn->m_bmp->GetWidth(); pt2.y=0; pt3.x=0; pt3.y=btn->m_bmp->GetHeight(); Point destinationPoints[] = { Point(pt1.x, pt1.y), // destination for upper-left point of original Point(pt2.x, pt2.y), // destination for upper-right point of original Point(pt3.x, pt3.y)}; // destination for lower-left point of original ColorMatrix colorMatrix = \ {0.33f, 0.33f, 0.33f, 0.0f, 0.0f, 0.33f, 0.33f, 0.33f, 0.0f, 0.0f, 0.33f, 0.33f, 0.33f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}; ImageAttributes imageAtt; imageAtt.SetColorMatrix(&colorMatrix, ColorMatrixFlagsDefault,ColorAdjustTypeBitmap); graph.DrawImage(btn->m_bmp, destinationPoints, 3, 0, 0, btn->m_bmp->GetWidth(), btn->m_bmp->GetHeight(), UnitPixel, &imageAtt); btn->EnableWindow (0);m_bCanSave=0; // CDialog::OnCancel (); // return 1; } } } if(!m_delphotos.IsEmpty ()) { m_delphotos.TrimLeft (";"); m_delphotos.TrimRight (";"); m_delphotos=";"+m_delphotos; m_delphotos+=";"; for(int i=m_patharray1.GetSize ()-1; i>=0; i--) { CString no; no=m_patharray1.ElementAt (i); no=no.Right (no.GetLength ()-no.ReverseFind ('\\')-1); no=no.Left (no.Find ('.')); no=";"+no; no+=";"; if(m_delphotos.Find(no)!=-1) { no=m_patharray1.ElementAt (i); m_patharray1.RemoveAt (i); m_patharray4.Add (no); } } } if(m_pArray) { for(int i=0; iGetSize (); i+=2) { int j = 0; for( j=0; jElementAt (i)==m_List2.GetItemText (j, 0)) { CString name=m_pArray->ElementAt (i+1); int pos=name.Find ("$"); if(pos!=0)continue; name.Delete (0,1); pos=name.Find ("."); while(pos!=-1) { if(CheckOK(name.Left (pos))) { CString str=m_noarray.ElementAt (j); CString temp=name.Left (pos); temp=","+temp+","; if(str.Find (temp)==-1) { str+=name.Left (pos); str.TrimLeft (","); str=","+str+","; m_noarray.SetAt (j, str); str.TrimLeft (","); str.TrimRight (","); m_List2.SetItemText (j, 4, str); } } name=name.Right (name.GetLength ()-pos-1); pos=name.Find ("."); } if(CheckOK(name)) { CString str=m_noarray.ElementAt (j); CString temp=name; temp=","+temp+","; if(str.Find (temp)==-1) { str+=name; str.TrimLeft (","); str=","+str+","; m_noarray.SetAt (j, str); str.TrimLeft (","); str.TrimRight (","); m_List2.SetItemText (j, 4, str); } } } } for( j=0; jElementAt (i)==m_List3.GetItemText (j, 0)) { CString name=m_pArray->ElementAt (i+1); int pos=name.Find ("$"); if(pos!=0)continue; name.Delete (0,1); pos=name.Find ("."); while(pos!=-1) { if(CheckOK(name.Left (pos))) { CString str=m_no2array.ElementAt (j); CString temp=name.Left (pos); temp=","+temp+","; if(str.Find (temp)==-1) { str+=name.Left (pos); str.TrimLeft (","); str=","+str+","; m_no2array.SetAt (j, str); str.TrimLeft (","); str.TrimRight (","); #ifdef LKAY_VERSION m_List3.SetItemText (j, 7, str); #else m_List3.SetItemText (j, 5, str); #endif } } name=name.Right (name.GetLength ()-pos-1); pos=name.Find ("."); } if(CheckOK(name)) { CString str=m_no2array.ElementAt (j); CString temp=name; temp=","+temp+","; if(str.Find (temp)==-1) { str+=name; str.TrimLeft (","); str=","+str+","; m_no2array.SetAt (j, str); str.TrimLeft (","); str.TrimRight (","); #ifdef LKAY_VERSION m_List3.SetItemText (j, 7, str); #else m_List3.SetItemText (j, 5, str); #endif } } } } } } } else { GetData2(); if(m_checkstatus!="未看") { if(atoi(g_cominfoarray.ElementAt(0).ElementAt(85)) && IsHasRights2new(20)==0 ) { Login2 dlg; if(dlg.DoModal ()!=IDOK) { MyBmpButton2 *btn=((MyBmpButton2*)m_picarray.ElementAt (4)); btn->m_bmpdisable=btn->m_bmp->Clone(); Graphics graph(btn->m_bmpdisable); CPoint pt1,pt2,pt3; pt1.x=0; pt1.y=0; pt2.x=btn->m_bmp->GetWidth(); pt2.y=0; pt3.x=0; pt3.y=btn->m_bmp->GetHeight(); Point destinationPoints[] = { Point(pt1.x, pt1.y), // destination for upper-left point of original Point(pt2.x, pt2.y), // destination for upper-right point of original Point(pt3.x, pt3.y)}; // destination for lower-left point of original ColorMatrix colorMatrix = \ {0.33f, 0.33f, 0.33f, 0.0f, 0.0f, 0.33f, 0.33f, 0.33f, 0.0f, 0.0f, 0.33f, 0.33f, 0.33f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}; ImageAttributes imageAtt; imageAtt.SetColorMatrix(&colorMatrix, ColorMatrixFlagsDefault,ColorAdjustTypeBitmap); graph.DrawImage(btn->m_bmp, destinationPoints, 3, 0, 0, btn->m_bmp->GetWidth(), btn->m_bmp->GetHeight(), UnitPixel, &imageAtt); btn->EnableWindow (0); m_bCanSave=0; // CDialog::OnCancel (); // return 1; } else if(IsHasRightsnew2(20, dlg.m_rights)==0) { MyBmpButton2 *btn=((MyBmpButton2*)m_picarray.ElementAt (4)); btn->m_bmpdisable=btn->m_bmp->Clone(); Graphics graph(btn->m_bmpdisable); CPoint pt1,pt2,pt3; pt1.x=0; pt1.y=0; pt2.x=btn->m_bmp->GetWidth(); pt2.y=0; pt3.x=0; pt3.y=btn->m_bmp->GetHeight(); Point destinationPoints[] = { Point(pt1.x, pt1.y), // destination for upper-left point of original Point(pt2.x, pt2.y), // destination for upper-right point of original Point(pt3.x, pt3.y)}; // destination for lower-left point of original ColorMatrix colorMatrix = \ {0.33f, 0.33f, 0.33f, 0.0f, 0.0f, 0.33f, 0.33f, 0.33f, 0.0f, 0.0f, 0.33f, 0.33f, 0.33f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}; ImageAttributes imageAtt; imageAtt.SetColorMatrix(&colorMatrix, ColorMatrixFlagsDefault,ColorAdjustTypeBitmap); graph.DrawImage(btn->m_bmp, destinationPoints, 3, 0, 0, btn->m_bmp->GetWidth(), btn->m_bmp->GetHeight(), UnitPixel, &imageAtt); btn->EnableWindow (0);m_bCanSave=0; // CDialog::OnCancel (); // return 1; } } } if(!m_delphotos.IsEmpty()) // add by Jeff:在加载时,先将已删除的相片从欲查看的相片中删除; { m_delphotos.TrimLeft (";"); m_delphotos.TrimRight (";"); m_delphotos=";"+m_delphotos; m_delphotos+=";"; for(int i=m_patharray1.GetSize ()-1; i>=0; i--) { CString no; no=m_patharray1.ElementAt (i); no=no.Right (no.GetLength ()-no.ReverseFind ('\\')-1); no=no.Left (no.Find ('.')); no=";"+no; no+=";"; if(m_delphotos.Find (no)!=-1) { no=m_patharray1.ElementAt (i); m_patharray1.RemoveAt(i); m_patharray4.Add (no); } } } } LoadPhotos();//在界面上显示图片; if(atoi(g_cominfoarray.ElementAt(0).ElementAt(95)) || g_cominfoarray.ElementAt(0).ElementAt(95)=="" ) { int timer1=atoi(g_cominfoarray.ElementAt(0).ElementAt(96)); m_timer=atoi(g_cominfoarray.ElementAt(0).ElementAt(97)); if(timer1==0)timer1=60; if(m_timer==0)m_timer=20; SetTimer(1, timer1*60000, NULL); } return false; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } BOOL ChoosePhotoSkin2::InitializeUI() { g_bInSkin=1; m_ticks=::GetTickCount (); // TODO: Add extra initialization here if(g_cursorhand==NULL) g_cursorhand=AfxGetApp()->LoadCursor(IDC_CURSORHAND); BYTE *pData=NULL; BYTE *pDataBegin; //printf("Jeff:loadLia路径:%s\n\n",g_mainpath+"\\skin\\"+m_liapath);//Jeff Printf; if(!LoadLia(g_mainpath+"\\skin\\"+m_liapath, &pData, &pDataBegin, &m_pBk, m_hWnd)) { EndDialog(0); return false; } //printf("Jeff:g_resdata2.nPicCount=%d\n\n",g_resdata2.nPicCount); // Jeff Printf,这个nPicCount好像一直是15; for(int i=0; iCreate(str, WS_CHILD|WS_VISIBLE|BS_OWNERDRAW , rc, this, i+100); pic->m_bmpcount =g_resdata2.nPicBmpCount [i]; pic->ReadBmp (&pData, NULL, this); #ifdef SZWNS_VERSION if(i==3 && m_mode2==0) { Image *img=NULL; LoadImageFromRes(&img, MAKEINTRESOURCE(IDR_JPG6), _T("JPG") ); delete pic->m_bmp; pic->m_bmp=img->Clone(); delete img; img=NULL; LoadImageFromRes(&img, MAKEINTRESOURCE(IDR_JPG7), _T("JPG") ); delete pic->m_bmpfocus; pic->m_bmpfocus=img->Clone(); delete img; img=NULL; LoadImageFromRes(&img, MAKEINTRESOURCE(IDR_JPG8), _T("JPG") ); delete pic->m_bmpfocused; pic->m_bmpfocused=img->Clone(); delete img; } #endif } else m_picarray.Add (NULL); m_rcarray.Add(g_resdata2.rect[i]); } delete []pDataBegin; if(m_mode2)//看设计 { m_bHide=0; // printf("Jeff:g_cominfoarray.ElementAt(0).ElementAt(86)=%s\n\n",g_cominfoarray.ElementAt(0).ElementAt(86)); // Jeff Printf; if(atoi(g_cominfoarray.ElementAt(0).ElementAt(86))) { ((MyBmpButton2*)m_picarray.ElementAt (3))->ShowWindow (SW_HIDE); CRect rc,rc2; ((MyBmpButton2*)m_picarray.ElementAt (3))->GetWindowRect(rc); ((MyBmpButton2*)m_picarray.ElementAt (1))->GetWindowRect(rc2); int dtx=rc.right -rc2.right ; ScreenToClient(rc2); rc2.left +=dtx; rc2.right +=dtx; ((MyBmpButton2*)m_picarray.ElementAt (1))->MoveWindow(rc2); ((MyBmpButton2*)m_picarray.ElementAt (0))->GetWindowRect(rc2); ScreenToClient(rc2); rc2.left +=dtx; rc2.right +=dtx; ((MyBmpButton2*)m_picarray.ElementAt (0))->MoveWindow(rc2); } CRect rc,rc2; ((MyBmpButton2*)m_picarray.ElementAt (5))->GetWindowRect(rc); ((MyBmpButton2*)m_picarray.ElementAt (4))->GetWindowRect(rc2); int dtx=rc.right -rc2.right ; rc2=rc; // if(atoi(g_cominfoarray.ElementAt(0).ElementAt(86))==0) { float scale=0.9; dtx*=scale; int wid=rc2.Width ()*scale; int hei=rc2.Height ()*scale; int dty=rc2.Height ()-hei; dty/=2; rc2.left =rc2.right -wid; rc2.top +=dty; rc2.bottom =rc2.top +hei; } ScreenToClient(rc2); ((MyBmpButton2*)m_picarray.ElementAt (5))->MoveWindow(rc2); rc2.left -=dtx; rc2.right -=dtx; ((MyBmpButton2*)m_picarray.ElementAt (4))->MoveWindow(rc2); rc2.left -=dtx; rc2.right -=dtx; ((MyBmpButton2*)m_picarray.ElementAt (14))->MoveWindow(rc2); rc2.left -=dtx; rc2.right -=dtx; ((MyBmpButton2*)m_picarray.ElementAt (2))->MoveWindow(rc2); if(atoi(g_cominfoarray.ElementAt(0).ElementAt(86))==0) { rc2.left -=dtx; rc2.right -=dtx; ((MyBmpButton2*)m_picarray.ElementAt (3))->MoveWindow(rc2); } rc2.left -=dtx; rc2.right -=dtx; ((MyBmpButton2*)m_picarray.ElementAt (1))->MoveWindow(rc2); rc2.left -=dtx; rc2.right -=dtx; ((MyBmpButton2*)m_picarray.ElementAt (0))->MoveWindow(rc2); rc2.left -=dtx; rc2.right -=dtx; ((MyBmpButton2*)m_picarray.ElementAt (8))->MoveWindow(rc2); ((MyBmpButton2*)m_picarray.ElementAt (11))->ShowWindow (SW_HIDE); } else { if(atoi(g_cominfoarray.ElementAt(0).ElementAt(86))) { ((MyBmpButton2*)m_picarray.ElementAt (3))->ShowWindow (SW_HIDE); CRect rc,rc2; ((MyBmpButton2*)m_picarray.ElementAt (3))->GetWindowRect(rc); ((MyBmpButton2*)m_picarray.ElementAt (1))->GetWindowRect(rc2); int dtx=rc.right -rc2.right ; ScreenToClient(rc2); rc2.left +=dtx; rc2.right +=dtx; ((MyBmpButton2*)m_picarray.ElementAt (1))->MoveWindow(rc2); ((MyBmpButton2*)m_picarray.ElementAt (0))->GetWindowRect(rc2); ScreenToClient(rc2); rc2.left +=dtx; rc2.right +=dtx; ((MyBmpButton2*)m_picarray.ElementAt (0))->MoveWindow(rc2); } } if(1)//m_mode2==0) { ((MyBmpButton2*)m_picarray.ElementAt (7))->ShowWindow (SW_HIDE); ((MyBmpButton2*)m_picarray.ElementAt (8))->ShowWindow (SW_HIDE); ((MyBmpButton2*)m_picarray.ElementAt (9))->ShowWindow (SW_HIDE); ((MyBmpButton2*)m_picarray.ElementAt (10))->ShowWindow (SW_HIDE); ((MyBmpButton2*)m_picarray.ElementAt (11))->ShowWindow (SW_HIDE); } else { ((MyBmpButton2*)m_picarray.ElementAt (7))->EnableWindow (0); ((MyBmpButton2*)m_picarray.ElementAt (0))->ShowWindow (SW_HIDE); ((MyBmpButton2*)m_picarray.ElementAt (1))->ShowWindow (SW_HIDE); ((MyBmpButton2*)m_picarray.ElementAt (2))->ShowWindow (SW_HIDE); ((MyBmpButton2*)m_picarray.ElementAt (3))->ShowWindow (SW_HIDE); ((MyBmpButton2*)m_picarray.ElementAt (11))->ShowWindow (SW_HIDE); if(IsHasRights2new(37)==0) { ((MyBmpButton2*)m_picarray.ElementAt (8))->ShowWindow (SW_HIDE); ((MyBmpButton2*)m_picarray.ElementAt (9))->ShowWindow (SW_HIDE); } } if(m_mode2) { ((MyBmpButton2*)m_picarray.ElementAt (8))->ShowWindow (SW_SHOW); // ((MyBmpButton2*)m_picarray.ElementAt (8))->SetPushDown (1); ((MyBmpButton2*)m_picarray.ElementAt (12))->ShowWindow (SW_HIDE); ((MyBmpButton2*)m_picarray.ElementAt (13))->ShowWindow (SW_HIDE); } else//移按钮位置 { CRect rc,rc2; ((MyBmpButton2*)m_picarray.ElementAt (5))->GetWindowRect(rc); ((MyBmpButton2*)m_picarray.ElementAt (4))->GetWindowRect(rc2); int dtx=rc.right -rc2.right ; rc2=rc; // if(atoi(g_cominfoarray.ElementAt(0).ElementAt(86))==0) { float scale=0.9; dtx*=scale; int wid=rc2.Width ()*scale; int hei=rc2.Height ()*scale; int dty=rc2.Height ()-hei; dty/=2; rc2.left =rc2.right -wid; rc2.top +=dty; rc2.bottom =rc2.top +hei; } ScreenToClient(rc2); ((MyBmpButton2*)m_picarray.ElementAt (5))->MoveWindow(rc2); rc2.left -=dtx; rc2.right -=dtx; ((MyBmpButton2*)m_picarray.ElementAt (4))->MoveWindow(rc2); rc2.left -=dtx; rc2.right -=dtx; ((MyBmpButton2*)m_picarray.ElementAt (14))->MoveWindow(rc2); rc2.left -=dtx; rc2.right -=dtx; ((MyBmpButton2*)m_picarray.ElementAt (2))->MoveWindow(rc2); if(atoi(g_cominfoarray.ElementAt(0).ElementAt(86))==0) { rc2.left -=dtx; rc2.right -=dtx; ((MyBmpButton2*)m_picarray.ElementAt (3))->MoveWindow(rc2); } rc2.left -=dtx; rc2.right -=dtx; ((MyBmpButton2*)m_picarray.ElementAt (12))->MoveWindow(rc2); rc2.left -=dtx; rc2.right -=dtx; ((MyBmpButton2*)m_picarray.ElementAt (13))->MoveWindow(rc2); rc2.left -=dtx; rc2.right -=dtx; ((MyBmpButton2*)m_picarray.ElementAt (1))->MoveWindow(rc2); rc2.left -=dtx; rc2.right -=dtx; ((MyBmpButton2*)m_picarray.ElementAt (0))->MoveWindow(rc2); } #ifndef MNLS_VERSION ((MyBmpButton2*)m_picarray.ElementAt (7))->ShowWindow (SW_HIDE); ((MyBmpButton2*)m_picarray.ElementAt (7))->EnableWindow (0); Graphics graph(m_pBk); Image *img=NULL; if(m_mode2==0) ::LoadImageFromBuf (&img, g_mainpath+"\\图片\\标题-选片.jpg"); else ::LoadImageFromBuf (&img, g_mainpath+"\\图片\\标题-看设计.jpg"); if(img) { if(img->GetWidth()==2000) { graph.SetSmoothingMode(SmoothingModeHighQuality); graph.DrawImage(img, 0,0); } delete img; } #endif CRect listrc=m_rcarray.ElementAt (6); CRect rc; GetClientRect(rc); rc.top=listrc.top; m_List1.MoveWindow (rc); CString path,str; if(m_mode2) { m_path=g_path3+"\\"; m_path+=m_strOrderNumber; m_path +="\\"; // printf("Jeff:m_path=%s\n\n",m_path); // Jeff Printf; } if(m_mode2)//看设计 { GetPhotos(); } else { //AfxMessageBox("789"); IsGrowthTx growthtxdlg; growthtxdlg.m_mode=1; growthtxdlg.m_strOrderNumber=m_strOrderNumber; growthtxdlg.DoModal (); m_bGrowthTX=growthtxdlg.m_bGrowthTx; m_seltxname=growthtxdlg.m_seltxname; /*if(!growthtxdlg.m_seltxname.IsEmpty ()) { if(growthtxdlg.m_seltxname!="全部") { path+=growthtxdlg.m_seltxname; path+="\\"; } }*/ if(CheckHC()) { m_bFromLocal=1; char path[MAX_PATH]; ::GetSystemDirectory (path, MAX_PATH); CString sysdir=path; sysdir+="\\lyfz"; ::CreateDirectory (sysdir, NULL); sysdir+="\\"; sysdir+=m_strOrderNumber; using namespace helper_coffs; ffsco o; o.dirs(1); o.find(LPCSTR(sysdir), LPCSTR("*.jpg")); ffsco::typeT coo; ffsco::typeT::iterator it; coo = o.co_file(); for (it = coo.begin();coo.end() != it;it ++) { str=(*it).c_str(); // printf("Jeff:str=%s\n\n",str);// Jeff Printf if(str.GetAt (str.ReverseFind ('\\')+1)!='s' && str.GetAt (str.ReverseFind ('\\')+1)!='m') { m_patharray1.Add (str); } } } if(m_patharray1.GetSize ()==0) { if(IsPhoto2Exist()) { SelBrunDevice dlg; dlg.m_mode=1; if(dlg.DoModal ()==IDOK) m_nChoosePhotoType=dlg.m_sel; else m_nChoosePhotoType=0; //m_nChoosePhotoType=0 原片+修片 1:修片 2:原片 } else AfxMessageBox("温馨提示:\r\n未找到初修片,将使用原片选片", MB_ICONINFORMATION); { CString path2; m_path=g_path1+"\\"; m_path+=m_strOrderNumber; m_path +="\\"; if(m_seltxname!="" && m_seltxname!="全部") { m_path+=m_seltxname; m_path +="\\"; } if(m_nChoosePhotoType==1) { m_path=g_path2+"\\"; m_path+=m_strOrderNumber; m_path +="\\"; } CString filename; using namespace helper_coffs; ffsco o; o.dirs(1); o.find(LPCSTR(m_path), LPCSTR("*.*")); ffsco::typeT coo; ffsco::typeT::iterator it; coo = o.co_file(); for (it = coo.begin(); coo.end() != it; it ++) { path=(*it).c_str(); if(path.GetAt (path.ReverseFind ('\\')+1)!='s' && path.GetAt (path.ReverseFind ('\\')+1)!='m') { path.MakeLower (); filename=path.Right(path.GetLength()-path.ReverseFind ('\\')-1); if(filename.Find(".")!=-1) filename=filename.Left(filename.Find(".")); if(!myisdigit(filename))continue; if(m_nChoosePhotoType==1) { m_patharray1.Add (path); } else { path2=path; if(m_nChoosePhotoType==0) path2.Replace ("客户原片", "修好的片"); if(m_bGrowthTX==0) { int pos=path2.Find (m_strOrderNumber); pos+=m_strOrderNumber.GetLength (); int pos2=path2.ReverseFind ('\\'); path2=path2.Left (pos)+path2.Right (path2.GetLength ()-pos2); } if(m_nChoosePhotoType==0 && ::PathFileExists (path2)) { m_patharray1.Add (path2); } else { path2.Replace (".raw", ".jpg"); if(::PathFileExists (path2)) { m_patharray1.Add (path2);continue; } path2.Replace (".nef", ".jpg"); if(::PathFileExists (path2)) { m_patharray1.Add (path2);continue; } path2.Replace (".cr2", ".jpg"); if(::PathFileExists (path2)) { m_patharray1.Add (path2);continue; } else { if(path.Right(3)!="jpg")continue; m_patharray1.Add (path); } } } } } } // if(0) {//多种修好的效果 CString path2; path2=g_path2+"\\"; path2+=m_strOrderNumber; path2 +="\\"; using namespace helper_coffs; ffsco o; o.dirs(0); o.find(LPCSTR(path2), LPCSTR("*.jpg")); ffsco::typeT coo; ffsco::typeT::iterator it; coo = o.co_file(); for (it = coo.begin(); coo.end() != it; it ++) { path=(*it).c_str(); if(path.GetAt (path.ReverseFind ('\\')+1)!='s' && path.GetAt (path.ReverseFind ('\\')+1)!='m') { path.MakeLower (); path2=path.Right (path.GetLength ()-path.ReverseFind ('\\')-1); if(path2.Find ("-")!=-1) { m_patharray1.Add (path); } } } } ///////////////// if(0)//atoi(g_cominfoarray.ElementAt(0).ElementAt(109))==0) { char path[MAX_PATH]; ::GetSystemDirectory (path, MAX_PATH); CString sysdir=path; sysdir+="\\lyfz"; ::CreateDirectory (sysdir, NULL); sysdir+="\\"; sysdir+=m_strOrderNumber; ::CreateDirectory (sysdir, NULL); sysdir+="\\"; ImportPhoto dlg; dlg.m_bCopyToLocal=1; dlg.m_mode =1; dlg.m_pArray=&m_patharray1; dlg.m_savepath =sysdir; dlg.DoModal (); CStringArray temparray; CString filename; for(int i=0; iGetWidth() ; int height=m_pBk->GetHeight() ; graph.SetSmoothingMode(SmoothingModeHighQuality); graph.DrawImage(m_pBk, destinationRect, 0,0,width,height,UnitPixel); // Do not call CDialog::OnPaint() for painting messages } catch(...) { } } void ChoosePhotoSkin2::OnPaint2(CWnd *pWnd) { try { CPaintDC dc(pWnd); // device context for painting // TODO: Add your message handler code here CRect rc; GetClientRect(rc); if(m_pBk==NULL) { return ; } int width=m_pBk->GetWidth() ; int height=m_pBk->GetHeight() ; Graphics graph(dc.GetSafeHdc ()); Rect destinationRect(0,0,rc.Width (), rc.Height ()); graph.SetSmoothingMode(SmoothingModeHighQuality); graph.DrawImage(m_pBk, destinationRect, 0,0,width,height,UnitPixel); } catch(...) { } } void ChoosePhotoSkin2::OnDestroy() { try { TerminateThread(); if(m_pBk)delete m_pBk; MyBmpButton2 *pic=NULL; for(int i=0; iDestroyWindow(); delete pic; } } m_picarray.RemoveAll(); if(m_selphotownd.GetSafeHwnd ()) { m_selphotownd.DestroyWindow (); } if(m_selphotownd2.GetSafeHwnd ()) { m_selphotownd2.DestroyWindow (); } /* char path[MAX_PATH]; ::GetSystemDirectory (path, MAX_PATH); CString sysdir=path; sysdir+="\\lyfz"; ::DeleteDirectory (sysdir);*/ CDialog::OnDestroy(); } catch(...) { } } BOOL ChoosePhotoSkin2::OnEraseBkgnd(CDC* pDC) { // TODO: Add your message handler code here and/or call default return 1; } void ChoosePhotoSkin2::SetLiaPath(CString path) { m_liapath=path; } BEGIN_EVENTSINK_MAP(ChoosePhotoSkin2, CDialog) //{{AFX_EVENTSINK_MAP(ChoosePhotoSkin2) ON_EVENT(ChoosePhotoSkin2, 100, 150 /* FSCommand */, OnFSCommandShockwaveflash1, VTS_BSTR VTS_BSTR) //}}AFX_EVENTSINK_MAP END_EVENTSINK_MAP() void ChoosePhotoSkin2::OnFSCommandShockwaveflash1(LPCTSTR command, LPCTSTR args) { // TODO: Add your control notification handler code here } unsigned __stdcall LoadThumbNail3(LPVOID lpParam) { ChoosePhotoSkin2 *pDlg=(ChoosePhotoSkin2*)lpParam; CListCtrl *ListCtrl=&pDlg->m_List1; try { CImageList* pImgList=&pDlg->m_ImageListThumb; // reset our image list for(int i=0; iGetImageCount(); i++) pImgList->Remove(i); // remove all items from list view ListCtrl->DeleteAllItems(); pImgList->SetImageCount(pDlg->m_vFileName.size()); // TCHAR path[MAX_PATH]; vector::iterator iter; // Set redraw to FALSE to avoid flickering during adding new items ListCtrl->SetRedraw(FALSE); int nIndex=0; CString str,spath; if(pDlg->m_mode2==0) // 选片; { for(iter=pDlg->m_vFileName.begin(); iter!=pDlg->m_vFileName.end() && pDlg->m_bTerminate!=true; iter++, nIndex++) { str=*iter; str=str.Right (str.GetLength ()-str.ReverseFind ('\\')-1); str=str.Left (str.Find ('.')); str+=pDlg->GetSelName(str); ListCtrl->InsertItem(nIndex, str, nIndex); } } else // 看设计; { for(iter=pDlg->m_vFileName.begin(); iter!=pDlg->m_vFileName.end() && pDlg->m_bTerminate!=true; iter++, nIndex++) { str=*iter; spath.Empty (); if(str.Left (str.ReverseFind ('\\')+1)!=pDlg->m_path) { spath=str.Left (str.ReverseFind ('\\')+1); spath= spath.Right (spath.GetLength ()-pDlg->m_path.GetLength ()); } str=str.Right (str.GetLength ()-str.ReverseFind ('\\')-1); if(str.Find("delgabook")!=-1) { str.TrimRight ("\\"); str=str.Right (str.GetLength ()-str.ReverseFind ('\\')-1); str.Replace ("delgabook", "Flash"); ListCtrl->InsertItem(nIndex, str, nIndex); } else { str=spath+str.Left (str.GetLength ()-4); CString temp=pDlg->GetSelName(str); ListCtrl->InsertItem(nIndex, str+temp, nIndex); } } } ListCtrl->SetRedraw(TRUE); ListCtrl->Invalidate(); const float fRatio=(float)THUMBNAIL_HEIGHT/THUMBNAIL_WIDTH; int XDest, YDest, nDestWidth, nDestHeight; nIndex=0; SolidBrush whitebrush(Color(255,255,255,255)); Image *pHideImg=NULL; Bitmap *pNULLBmp=new Bitmap(THUMBNAIL_WIDTH, THUMBNAIL_HEIGHT, PixelFormat24bppRGB ); Graphics graph2(pNULLBmp); graph2.Clear(Color(255,0,0,0)); for(iter=pDlg->m_vFileName.begin(); iter!=pDlg->m_vFileName.end() && pDlg->m_bTerminate!=true; iter++, nIndex++) { // Load Image File Image *image=NULL; Bitmap *pBmp=NULL; str=*iter; spath=str.Left (str.ReverseFind ('\\')+1); spath+="s"; spath+=str.Right (str.GetLength ()-str.ReverseFind ('\\')-1); // if(pDlg->m_mode2==0 && pDlg->m_bHide && pHideImg==NULL) if( pDlg->m_bHide && pHideImg==NULL) { LoadImageFromRes(&pHideImg, MAKEINTRESOURCE(IDR_JPG5), _T("JPG") ); } BOOL bNullimg=0; if(pHideImg==NULL) { // if(atoi(g_cominfoarray.ElementAt(0).ElementAt(109))==0 && pDlg->m_mode2==0) if(0)//pDlg->m_bFromLocal && pDlg->m_mode2==0) { spath=spath.Right (spath.GetLength ()-spath.ReverseFind ('\\')); CString stemp; stemp=g_path2+"\\"; stemp+=pDlg->m_strOrderNumber; stemp +="\\"; stemp+=spath; if(::CheckFileExist (stemp)) spath=stemp; else { stemp=g_path1+"\\"; stemp+=pDlg->m_strOrderNumber; stemp +="\\"; stemp+=spath; spath=stemp; } } if(::CheckFileExist (spath)) { ::LoadImageFromBuf (&image, spath); } else if(::CheckFileExist (str)) ::LoadImageFromBuf (&image, str); else { bNullimg=1; image=pNULLBmp; } if(image==NULL)continue; if(image->GetWidth()==0) continue; int orientation=GetOrientation(image); if(orientation==8) image->RotateFlip( Rotate270FlipNone ); else if(orientation==6) image->RotateFlip( Rotate90FlipNone ); } else image=pHideImg; // Calculate Rect to fit to canvas const float fImgRatio=(float)image->GetHeight()/image->GetWidth(); if(fImgRatio > fRatio) { nDestWidth=THUMBNAIL_HEIGHT/fImgRatio; XDest=(THUMBNAIL_WIDTH-nDestWidth)/2; YDest=0; nDestHeight=THUMBNAIL_HEIGHT; } else { XDest=0; nDestWidth=THUMBNAIL_WIDTH; nDestHeight=THUMBNAIL_WIDTH*fImgRatio; YDest=(THUMBNAIL_HEIGHT-nDestHeight)/2; } pBmp=new Bitmap(THUMBNAIL_WIDTH, THUMBNAIL_HEIGHT, PixelFormat24bppRGB ); Graphics graph2(pBmp); graph2.Clear(Color(255,192,192,192)); graph2.FillRectangle (&whitebrush,1, 1, THUMBNAIL_WIDTH-2, THUMBNAIL_HEIGHT-2); Graphics graph(pBmp); Rect desRect(XDest, YDest, nDestWidth, nDestHeight); // Draw Image graph.DrawImage(image, desRect, 0,0,image->GetWidth(),image->GetHeight(),UnitPixel); if(pHideImg==NULL && bNullimg==0) delete image; // Attach to Bitmap and Replace image in CImageList CBitmap bitmap; HBITMAP hbmp; pBmp->GetHBITMAP(Color(255,255,255,255), &hbmp); bitmap.Attach(hbmp); pImgList->Replace(nIndex, &bitmap, NULL); delete pBmp; // Redraw only a current item for removing flickering and fast speed. ListCtrl->RedrawItems(nIndex, nIndex); // Release used DC and Object } delete pNULLBmp; if(pHideImg)delete pHideImg; ListCtrl->Invalidate(); pDlg->m_bRunning=false; pDlg->m_bTerminate=false; pDlg->PostMessage(WM_USER+200, 0, 0); _endthreadex( 0 ); return 0; } catch(...) { ListCtrl->Invalidate(); pDlg->m_bRunning=false; pDlg->m_bTerminate=false; pDlg->PostMessage(WM_USER+200, 0, 0); _endthreadex( 0 ); } } void ChoosePhotoSkin2::LoadThumbImages() { TerminateThread(); m_hThread = (HANDLE)_beginthreadex(NULL,0, LoadThumbNail3,(LPVOID)this,0/* CREATE_SUSPENDED*/,&m_dwThreadID); m_bRunning=true; } BOOL ChoosePhotoSkin2::TerminateThread() { if ( !m_bRunning ) return TRUE; m_bTerminate=true; for( ; ; ) { if ( ::WaitForSingleObject(m_hThread, 0) == WAIT_OBJECT_0 ) break; MSG msg; while (::PeekMessage(&msg,NULL,0,0,PM_NOREMOVE)) { if (!AfxGetApp()->PumpMessage()) break; } } ::CloseHandle(m_hThread); return TRUE; } void ChoosePhotoSkin2::OnDblclkList1() { POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { return; } CArrayposarray; int iItem=m_List1.GetNextSelectedItem(pos); posarray.Add (iItem); while (pos) { int iItem=m_List1.GetNextSelectedItem(pos); posarray.Add (iItem); if(posarray.GetSize ()>3)break; } if(posarray.GetSize ()>=2) { CStringArray *m_pPtahArray=GetCurArray(); CComparePhoto dlg; dlg.m_path1=m_pPtahArray->ElementAt (posarray.ElementAt(0)); dlg.m_path2=m_pPtahArray->ElementAt (posarray.ElementAt(1)); if(posarray.GetSize ()>2) dlg.m_path3=m_pPtahArray->ElementAt (posarray.ElementAt(2)); if(posarray.GetSize ()>3) dlg.m_path4=m_pPtahArray->ElementAt (posarray.ElementAt(3)); dlg.DoModal(); return; } if(m_mode2==1)//看设计 { CString title=m_List1.GetItemText (iItem, 0); if(title.Find ("Flash")!=-1) { title.Replace ("Flash", "delgabook"); CString str=m_path+title+"\\delgaBook.exe"; ShellExecute(NULL, _T("open"), str, NULL, NULL, SW_SHOWNORMAL); return; } } m_showpichwd=NULL; ShowPic22 dlg; if(m_mode2==1) dlg.m_bShowName=1; dlg.m_pParent =this; dlg.m_pos=iItem; if(m_mode2==0 && atoi(g_cominfoarray.ElementAt(0).ElementAt(100))) { CStringArray array; CStringArray arraymsize; CStringArray *pArray=GetCurArray(); array.Copy(*pArray); for(int i=0; i'2';id='"+m_strOrderNumber+"';;id='"+m_strOrderNumber+"'"; #endif g_sendhead.code[0]=50; g_sendhead.code[1]=11; g_sendhead.code[2]=4; g_sendhead.code[3]=182; g_sendhead.tabcount=4; g_sendhead.bsql=0; g_pMainWnd->ProcessChatMessageRequest2(filter);if(g_bSendOK==0)return 0; CArraysparray; DataToArray(&sparray, &g_List1array, &m_sparray, &oldsparray); m_patharray2.RemoveAll (); CString str,kind; int nchoosezs=0; int list2pos=0; int list3pos=0; CString savepath; savepath.Format ("%s\\%s.dat", g_mainpath, m_strOrderNumber); CString stm1=GetModifyTime2(savepath); CTime tm1=CTime::GetCurrentTime (); tm1-=CTimeSpan(2, 0, 0, 0); CString stm2=tm1.Format ("%Y%m%d"); BOOL bLoadHistory=0; if(::CheckFileExist (savepath) && stm1>stm2) { if(AfxMessageBox("提醒:请谨慎操作\r\n上次选片未正常退出, 是否还原到上次选片状态?", MB_YESNO|MB_ICONINFORMATION)==IDYES) bLoadHistory=1; } if(bLoadHistory) { CArrayList1array; CFile fp; fp.Open (savepath, CFile::modeRead); DWORD nMessageLen=fp.GetLength (); BYTE *szChatMessage = new BYTE[nMessageLen]; fp.Read (szChatMessage, nMessageLen); fp.Close (); int count; memcpy(&count, szChatMessage+(nMessageLen-sizeof(int)), sizeof(int)); CMemFile memfile; memfile.Attach (szChatMessage, nMessageLen); CArchive ar(&memfile, CArchive::load); List1array.SetSize(count); int i = 0; for( i=0; imessage==WM_LBUTTONDOWN) { g_bNeedDrawParent=2; if(0) {//list3 CPoint pt; CRect rc,rc2; ::GetCursorPos (&pt); m_List3.GetWindowRect (rc2); if(rc2.PtInRect (pt)==0) return CDialog::PreTranslateMessage(pMsg); SetTimer(3, 300, NULL); } } /* else if(pMsg->message==WM_PAINT && pMsg->hwnd ==this->m_hWnd ) { SetTimer(1, 100, NULL); } else if(pMsg->message==WM_TIMER&& pMsg->hwnd ==this->m_hWnd) { KillTimer(1); DrawLogin(); }*/ else if(0)//pMsg->message==WM_LBUTTONDBLCLK) { {//list1 CPoint pt; CRect rc,rc2; ::GetCursorPos (&pt); m_List2.GetWindowRect (rc2); if(rc2.PtInRect (pt)) return 1; } {//list3 CPoint pt; CRect rc,rc2; ::GetCursorPos (&pt); m_List3.GetWindowRect (rc2); if(rc2.PtInRect (pt)==0)return CDialog::PreTranslateMessage(pMsg); pt.x-=rc2.left ; pt.y-=rc2.top ; int iItem=m_List3.GetItemCount ()-1; if(iItem<0) { m_List3.GetHeaderCtrl()->GetItemRect (0, rc); int hei=rc.Height (); rc.top +=hei; rc.bottom +=hei; if(rc.PtInRect (pt)) { m_List3.InsertItem(m_List3.GetItemCount (), ""); } } else { m_List3.GetSubItemRect( iItem, 0, LVIR_BOUNDS, rc); int hei=rc.Height (); rc.top +=hei; rc.bottom +=hei; if(rc.PtInRect (pt)) { if(m_List3.GetItemText (iItem, 1).IsEmpty ()&&m_List3.GetItemText (iItem, 2).IsEmpty ()) return CDialog::PreTranslateMessage(pMsg); m_List3.InsertItem(m_List3.GetItemCount (), ""); } POSITION pos; pos=m_List3.GetFirstSelectedItemPosition(); if(pos) { iItem=m_List3.GetNextSelectedItem(pos); m_List3.GetSubItemRect( iItem, 4, LVIR_BOUNDS, rc); if(rc.PtInRect (pt))return 1; } } } } else if(pMsg->message==WM_KEYDOWN) { if(m_showpichwd)return 1; switch (pMsg->wParam) { case VK_DELETE: OnDel(); return 1; case VK_RETURN: OnDblclkList1(); return 1; case VK_F4: if(m_mode2 && m_bChooseBig==0)return 1; if(atoi(g_cominfoarray.ElementAt(0).ElementAt(62))) { if(m_mode==1)UpdateChooseZS(); SortArray(); } return 1; case VK_F5: if(atoi(g_cominfoarray.ElementAt(0).ElementAt(86))) { OnBtnClick(0, 99+4); } /* if(m_mode2==0)return 1; { ReplaceDesignNo dlg; dlg.m_id=this->m_id ; dlg.DoModal (); }*/ return 1; case VK_F1: { if(m_selphotownd2.GetSafeHwnd ()==NULL) { m_selphotownd2.m_id=m_strOrderNumber; m_selphotownd2.m_rc=m_rcarray.ElementAt (6); m_selphotownd2.Create (IDD_DLGShowSelPhoto2, this); } m_selphotownd2.ShowWindow (1); } return 1; case VK_F2: if(m_mode2 && m_bChooseBig==0)return 1; if(0) { return 1; CStringArray array; for(int i=0; im_strOrderNumber ; dlg.DoModal (); } } return 1; } } return CDialog::PreTranslateMessage(pMsg); } void ChoosePhotoSkin2::OnRclickList1()// 右键选片模式; { // 1.Jeff:看设计模式; if(m_mode2) { OnRclickList2(); return; } // 2.Jeff:开始选片模式; if(m_bRunning)return; POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { return; } int iItem=m_List1.GetNextSelectedItem(pos); CString scount; // .获取当前查看的相片; CStringArray *pArray=GetCurArray(); CString path=pArray->ElementAt (iItem); path=path.Right (path.GetLength ()-path.ReverseFind ('\\')-1); path=path.Left (path.ReverseFind ('.')); if(m_mode2)// Jeff:第1步时就退出了,这里判断有意义????? 这一段代码永远不会执行; { if(!CheckName(path)) { CMenuXP *pPopup; pPopup = new CMenuXP; pPopup->CYBUTTONMARGIN=3; pPopup->CreatePopupMenu(); pPopup->SetMenuStyle(CMenuXP::STYLE_XP); pPopup->AppendODMenu2(0, new CMenuXPText(32794, "修改要求", NULL)); CPoint pt; ::GetCursorPos (&pt); pPopup->TrackPopupMenu(TPM_RIGHTBUTTON, pt.x, pt.y, this, 0); delete pPopup; return; } } path=","+path+","; // TODO: Add your control notification handler code here CMenuXP *pPopup; pPopup = new CMenuXP; pPopup->CYBUTTONMARGIN=3; pPopup->CreatePopupMenu(); pPopup->SetMenuStyle(CMenuXP::STYLE_XP); int i = 0; int maxleng=1; { CString name,no; int count=0; for( i=0; iAppendODMenu2(0, new CMenuXPText(IDM_MENUsp1+i, name+scount, NULL)); if(no.Find (path)!=-1) pPopup->CheckMenuItem(IDM_MENUsp1+i, MF_BYCOMMAND | MF_CHECKED); } count=i; for(; iAppendODMenu2(0, new CMenuXPText(IDM_MENUsp1+i, name+scount, NULL)); if(no.Find (path)!=-1) pPopup->CheckMenuItem(IDM_MENUsp1+i, MF_BYCOMMAND | MF_CHECKED); } pPopup->AppendODMenu2(0, new CMenuXPText(32794, "修改要求", NULL)); CPoint pt; ::GetCursorPos (&pt); pPopup->TrackPopupMenu(TPM_RIGHTBUTTON, pt.x, pt.y, this, 0); delete pPopup; } void ChoosePhotoSkin2::OnRclickList2()// 右键看设计模式; { if(m_bRunning)return; POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { return; } int iItem=m_List1.GetNextSelectedItem(pos); CString scount; CStringArray *pArray=GetCurArray(); //获取当前查看的内容; CString path=pArray->ElementAt(iItem); //path//打印出相片完整路径名; if(m_bChooseBig)//选放大 path=path.Right(path.GetLength()-path.ReverseFind('\\')-1); else//选设计 path=path.Right(path.GetLength()-m_path.GetLength()); path=path.Left(path.ReverseFind('.')); path=","+path+","; // // TODO: Add your control notification handler code here // 1.创建菜单对象; CMenuXP *pPopup; pPopup = new CMenuXP; pPopup->CYBUTTONMARGIN=3; // 1.0.按钮范围0~3; 4个菜单; pPopup->CreatePopupMenu(); // 1.1.弹出式菜单; pPopup->SetMenuStyle(CMenuXP::STYLE_XP);// 1.2.弹出菜单样式; // Jeff:m_List2有三列头:编号、商品名称、商品数量; int i = 0; int maxleng=1; { CString name,no; int count=0; for( i=0; iAppendODMenu2(0, new CMenuXPText(IDM_MENUsp1+i, name+scount, NULL));// 2.使用AppendODMenu2添加子菜单项; if(no.Find (path)!=-1) pPopup->CheckMenuItem(IDM_MENUsp1+i, MF_BYCOMMAND | MF_CHECKED); } count=i; for(; iAppendODMenu2(0, new CMenuXPText(IDM_MENUsp1+i, name+scount, NULL)); if(no.Find (path)!=-1) pPopup->CheckMenuItem(IDM_MENUsp1+i, MF_BYCOMMAND | MF_CHECKED); } pPopup->AppendODMenu2(0, new CMenuXPText(32794, "修改要求", NULL)); CPoint pt; ::GetCursorPos (&pt); pPopup->TrackPopupMenu(TPM_RIGHTBUTTON, pt.x, pt.y, this, 0);// 3.使用TrackPopupMenu,正常弹出菜单; delete pPopup; } void ChoosePhotoSkin2::OnRclickList1(NMHDR* pNMHDR, LRESULT* pResult) { if( m_showpichwd)return; OnRclickList1(); *pResult = 0; } void SortArray2(CArray&datearray) { int strtemp; int last = datearray.GetSize () - 1; bool sorted = true; do { sorted = true; for (int i = 0; i < last; i++) { if (datearray[i] < datearray[i + 1]) { strtemp = datearray[i]; datearray[i] = datearray[i + 1]; datearray[i + 1] = strtemp; sorted = false; } } last--; } while (!sorted); } void ChoosePhotoSkin2::OnCommandMenu(UINT nID)//弹出菜单处理; { if(m_mode2)//看设计; { OnCommandMenu2(nID); return; } if(32794==nID) { if(m_mode2)//Jeff不会执行的代码; { OnButton4(); } else { POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { return; } int iItem=m_List1.GetNextSelectedItem(pos); CStringArray *pArray=GetCurArray(); CString path=pArray->ElementAt (iItem); path=path.Right (path.GetLength ()-path.ReverseFind ('\\')-1); path=path.Left (path.Find ('.')); if(m_bz4.GetLength()>4080) { AfxMessageBox("备注太长,可在保存界面选中备注内容,按Delete键清除"); return; } UpdateData(); CClientRequirement dlg; dlg.m_no="当前照片:"+path; // dlg.m_bz2=m_bz3; CString header,left,right,cur; header=path+":"; int pos2=m_bz4.Find(header); if(pos2!=-1) { left=m_bz4.Left(pos2); m_bz4=m_bz4.Right(m_bz4.GetLength()-pos2); pos2=m_bz4.Find(" "); if(pos2!=-1) { cur=m_bz4.Left(pos2); int pos3=cur.Find(":"); if(pos3!=-1) cur=cur.Right(cur.GetLength()-pos3-1); right=m_bz4.Right(m_bz4.GetLength()-pos2-2); } } else left=m_bz4; dlg.m_bz2=cur; dlg.m_bSave =0; dlg.m_nMode =2; if(dlg.DoModal ()==IDOK) { // m_bz3=dlg.m_bz2 ; dlg.m_bz2.TrimLeft(); dlg.m_bz2.TrimRight(); if(dlg.m_bz2!="") cur=header+dlg.m_bz2+" " ; else cur=""; m_bz4=left+cur+right; UpdateData(false); } else { if(cur!="") m_bz4=left+header+cur+" "+right; else m_bz4=left+right; } } return; } POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { return; } CString temp; m_combo1.ResetContent (); int aa=0; while(pos) { // if(aa && m_mode==1)break;//m_mode=1查看选中 // if(aa && m_mode==2)break; aa++; int iItem=m_List1.GetNextSelectedItem(pos); CStringArray *pArray=GetCurArray(); CString path=pArray->ElementAt (iItem); path=path.Right (path.GetLength ()-path.ReverseFind ('\\')-1); path=path.Left (path.ReverseFind ('.')); path=","+path+","; int idpos=nID-IDM_MENUsp1; BOOL bSel=0;//选中还是取消 if(idpos4000) { AfxMessageBox("编号太长,选择失败!", MB_ICONSTOP);return; } else { bSel=1; no.TrimRight (","); no+=path; } no.TrimLeft (","); no.TrimRight (","); m_List2.SetItemText (idpos, 4, no); if(no.IsEmpty ()) m_noarray.SetAt (idpos, no); else m_noarray.SetAt (idpos, ","+no+","); } else { idpos-=m_noarray.GetSize (); CString no=m_no2array.ElementAt (idpos); if(no.Find (path)!=-1) { int pos=no.Find (path); no.Delete (pos, path.GetLength ()-1); } else if(no.GetLength()>4000) { AfxMessageBox("编号太长,选择失败!", MB_ICONSTOP);return; } else { bSel=1; no.TrimRight (","); no+=path; } no.TrimLeft (","); no.TrimRight (","); #ifdef LKAY_VERSION m_List3.SetItemText (idpos, 7, no); #else m_List3.SetItemText (idpos, 5, no); #endif if(no.IsEmpty ()) m_no2array.SetAt (idpos, no); else m_no2array.SetAt (idpos, ","+no+","); } m_bModify=1; if(bSel==0 && m_mode==1 && IsSelPhoto(path)==0) { temp.Format("%d", iItem); m_combo1.AddString (temp); continue; } else if(bSel==1 && m_mode==2) { temp.Format("%d", iItem); m_combo1.AddString (temp); continue; } else if(bSel==1 && m_mode==3) { temp.Format("%d", iItem); m_combo1.AddString (temp); continue; } else if(bSel==0 && m_mode==4 && IsSelAlbumPhoto(path)==0) { temp.Format("%d", iItem); m_combo1.AddString (temp); continue; } else if(bSel==0 && m_mode==5 && IsSelDiskPhoto(path)==0) { temp.Format("%d", iItem); m_combo1.AddString (temp); continue; } ///////////////////////// CString no,dir; no=pArray->ElementAt (iItem); if(m_mode2) { if(no.Left (no.ReverseFind ('\\')+1)!=m_path) { dir=no.Left (no.ReverseFind ('\\')+1); dir= dir.Right (dir.GetLength ()-m_path.GetLength ()); } } no=no.Right (no.GetLength ()-no.ReverseFind ('\\')-1); no=no.Left (no.ReverseFind ('.')); no+=GetSelName(no); m_List1.SetItemText (iItem, 0, dir+no); } CArrayposarray; for(int i=m_combo1.GetCount ()-1; i>=0; i--) { m_combo1.GetLBText (i, temp); posarray.Add(atoi(temp)); } SortArray2(posarray); if(posarray.GetSize ()) { if(m_mode==1) { for(int i=0; iElementAt (iItem); path=path.Right (path.GetLength ()-path.ReverseFind ('\\')-1); path=path.Left (path.Find ('.')); UpdateData(); CClientRequirement dlg; dlg.m_no="当前照片:"+path; dlg.m_bz2=m_bz3; dlg.m_bSave =0; dlg.m_nMode =2; if(dlg.DoModal ()==IDOK) { m_bz3=dlg.m_bz2 ; UpdateData(false); } return; } POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { return; } CString temp; m_combo1.ResetContent(); int aa=0; while(pos) // 开始获取相片; { // if(aa && m_mode==1)break; // if(aa && m_mode==2)break; aa++; int iItem=m_List1.GetNextSelectedItem(pos); CStringArray *pArray=GetCurArray(); // path: CString path=pArray->ElementAt(iItem); //AfxMessageBox(path);//Jeff box if(m_bChooseBig)//选放大 path=path.Right (path.GetLength ()-path.ReverseFind ('\\')-1); else//选设计 path=path.Right (path.GetLength ()-m_path.GetLength ()); path=path.Left (path.ReverseFind ('.')); path=","+path+","; int idpos=nID-IDM_MENUsp1; BOOL bSel=0;//选中还是取消 if(idpos4000) { AfxMessageBox("编号太长,选择失败!", MB_ICONSTOP);return; } else { bSel=1; no.TrimRight (","); no+=path; } no.TrimLeft (","); no.TrimRight (","); m_List2.SetItemText (idpos, 4, no); if(no.IsEmpty ()) m_noarray.SetAt (idpos, no); else m_noarray.SetAt (idpos, ","+no+","); } else { idpos-=m_noarray.GetSize (); CString no=m_no2array.ElementAt (idpos); if(no.Find (path)!=-1) { int pos=no.Find (path); no.Delete (pos, path.GetLength ()-1); } else if(no.GetLength()>4000) { AfxMessageBox("编号太长,选择失败!", MB_ICONSTOP);return; } else { bSel=1; no.TrimRight (","); no+=path; } no.TrimLeft (","); no.TrimRight (","); #ifdef LKAY_VERSION m_List3.SetItemText (idpos, 7, no); #else m_List3.SetItemText (idpos, 5, no); #endif if(no.IsEmpty ()) m_no2array.SetAt (idpos, no); else m_no2array.SetAt (idpos, ","+no+","); } m_bModify=1; if(bSel==0 && m_mode==1 && IsSelPhoto(path)==0) { temp.Format("%d", iItem); m_combo1.AddString (temp); continue; } else if(bSel==1 && m_mode==2) { temp.Format("%d", iItem); m_combo1.AddString (temp); continue; } else if(bSel==1 && m_mode==3) { temp.Format("%d", iItem); m_combo1.AddString (temp); continue; } ///////////////////////// CString no,dir; no=pArray->ElementAt (iItem); if(m_bChooseBig)//选放大 no=no.Right (no.GetLength ()-no.ReverseFind ('\\')-1); else//选设计 no=no.Right (no.GetLength ()-m_path.GetLength ()); no=no.Left (no.ReverseFind ('.')); no+=GetSelName(no); m_List1.SetItemText (iItem, 0, no); } CArrayposarray; for(int i=m_combo1.GetCount ()-1; i>=0; i--) { m_combo1.GetLBText (i, temp); posarray.Add(atoi(temp)); } SortArray2(posarray); if(posarray.GetSize ()) { if(m_mode==1) { for(int i=0; iatoi(m_takezs)) { UpdateData(); m_takezs.Format ("%d", m_List1.GetItemCount () ); UpdateData(false); } DrawLogin(); return 1; } void ChoosePhotoSkin2::OnButton1() // null { // TODO: Add your control notification handler code here } void ChoosePhotoSkin2::UpdateChooseZS() { m_patharray2.RemoveAll (); CString str; int i = 0; if(m_sChooseFilter!="" && m_sChooseFilter!="全部") { for( i=0; iElementAt(iItem); //printf("Jeff:pos=%d,iItem=%d,no=%s \n\n",pos,iItem,no);// Jeff Printf; no=no.Right (no.GetLength ()-no.ReverseFind ('\\')-1); no=no.Left (no.Find ('.')); if(IsSelPhoto(no)) // Jeff 这里有问题,有些订单删除未选中的相片时,会提示box内容。状态:未处理; { AfxMessageBox("选中的照片不能删除, 请先取消选中状态!", MB_ICONINFORMATION); return 0; } if(AfxMessageBox("是否删除此照片?", MB_YESNO|MB_ICONINFORMATION)!=IDYES) return 0; m_List1.DeleteItem(iItem); CString name=pArray->ElementAt(iItem); m_patharray4.Add(name); // printf("Jeff:将要删除的相片=%s\n\n",name);// Jeff Printf; for(int i=0; iGetSize(); i++) { if(name.CollateNoCase(pArray->ElementAt(i))==0) { pArray->RemoveAt (i); if(m_mode==2) { DelNo(no); // MessageBox(no); // m_patharray1.RemoveAt (i); } break; } } if(iItem>=pArray->GetSize ()) iItem=0; m_List1.SetItemState (iItem, LVIS_SELECTED, LVIS_SELECTED); DrawLogin(); return 1; } extern int GetOrientation(Image *image); void ChoosePhotoSkin2::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) { // TODO: Add your control notification handler code here *pResult = 0; } void ChoosePhotoSkin2::OnTimer(UINT nIDEvent) { // TODO: Add your message handler code here and/or call default if(nIDEvent==1) { KillTimer(nIDEvent); if( m_showpichwd) ::SendMessage (m_showpichwd, WM_USER+200, 1, 0); TimeOutDlg dlg; dlg.m_ticks =m_ticks; dlg.DoModal (); SetTimer(2, m_timer*60000, NULL); } else if(nIDEvent==2) { KillTimer(nIDEvent); if( m_showpichwd) ::SendMessage (m_showpichwd, WM_USER+200, 1, 0); TimeOutDlg dlg; dlg.m_ticks =m_ticks; dlg.DoModal (); SetTimer(2, m_timer*60000, NULL); } else if(nIDEvent==3) { KillTimer(nIDEvent); SetSPName3(); } } float ChoosePhotoSkin2::GetSPPriceFromId(CString id) { for(int i=0; iGetSize ()==0) { using namespace helper_coffs; ffsco o; o.dirs(1); o.find(LPCSTR(dir), LPCSTR("*.*")); ffsco::typeT coo; ffsco::typeT::iterator it; coo = o.co_dir(); for (it = coo.begin();coo.end() != it;it ++) { temp=(*it).c_str(); if(::FindArray (&dirarray, temp)==-1 && temp!=dir) { dirarray.Add (temp); } } } else dirarray.Copy (*pArray); for(int i=0; iGetSize(); i++) { path=pArray->ElementAt(i); path=path.Right(path.GetLength()-path.ReverseFind('\\')-1); if(path.Find(".")!=-1) path=path.Left(path.Find(".")); if(no==path)return pArray->ElementAt(i); } return ""; } void ChoosePhotoSkin2::GetPath(CString str) {// if(atoi(g_cominfoarray.ElementAt(0).ElementAt(109))==0 && m_mode2==0) if(m_bFromLocal && m_mode2==0) { str.TrimLeft (","); str.TrimRight (","); if(str.IsEmpty ())return; int pos=str.Find (','); CString path,path2; char spath[MAX_PATH]; ::GetSystemDirectory (spath, MAX_PATH); CString sysdir=spath; sysdir+="\\lyfz"; sysdir+="\\"; sysdir+=m_strOrderNumber; sysdir+="\\"; while(pos!=-1) { path=sysdir+str.Left (pos)+".jpg"; if(::FindArray(&m_patharray2, path)==-1) { m_patharray2.Add (path); // MessageBox(path); } str=str.Right (str.GetLength ()-pos-1); pos=str.Find (','); } path=sysdir+str+".jpg"; if(::FindArray(&m_patharray2, path)==-1) { m_patharray2.Add (path);//MessageBox(path); } } else if(m_mode2 && m_bChooseBig==0)//看设计 { str.TrimLeft (","); str.TrimRight (","); if(str.IsEmpty ())return; int pos=str.Find (','); CString path,path2; while(pos!=-1) { path=m_path+str.Left (pos)+".jpg"; if(::FindArray(&m_patharray2, path)==-1) { m_patharray2.Add (path); } str=str.Right (str.GetLength ()-pos-1); pos=str.Find (','); } path=m_path+str+".jpg"; if(::FindArray(&m_patharray2, path)==-1) { m_patharray2.Add (path); } } else { if(m_DirArrayBuf.GetSize ()==0) { CString dir=m_path; dir.TrimRight('\\'); dir+="\\"; CString temp; using namespace helper_coffs; ffsco o; o.dirs(1); o.find(LPCSTR(dir), LPCSTR("*.*")); ffsco::typeT coo; ffsco::typeT::iterator it; coo = o.co_dir(); for (it = coo.begin();coo.end() != it;it ++) { temp=(*it).c_str(); if(::FindArray (&m_DirArrayBuf, temp)==-1 && temp!=dir) { m_DirArrayBuf.Add (temp); } } } str.TrimLeft (","); str.TrimRight (","); if(str.IsEmpty ())return; int pos=str.Find (','); CString path,path2; while(pos!=-1) { path=GetPathFromNo2(m_path, str.Left (pos), &m_patharray1); path2=path; if(m_nChoosePhotoType==0) { path2.Replace ("客户原片", "修好的片"); int pos1=path2.Find (m_strOrderNumber); pos1+=m_strOrderNumber.GetLength (); int pos2=path2.ReverseFind ('\\'); path2=path2.Left (pos1)+path2.Right (path2.GetLength ()-pos2); if(::PathFileExists (path2)) path=path2; } if(::FindArray(&m_patharray2, path)==-1) { m_patharray2.Add (path); } str=str.Right (str.GetLength ()-pos-1); pos=str.Find (','); } path=GetPathFromNo2(m_path, str, &m_patharray1);//+".jpg"; path2=path; if(m_nChoosePhotoType==0) { path2.Replace ("客户原片", "修好的片"); int pos1=path2.Find (m_strOrderNumber); pos1+=m_strOrderNumber.GetLength (); int pos2=path2.ReverseFind ('\\'); path2=path2.Left (pos1)+path2.Right (path2.GetLength ()-pos2); if(::PathFileExists (path2)) path=path2; } if(::FindArray(&m_patharray2, path)==-1) m_patharray2.Add (path); } } void ChoosePhotoSkin2::LoadPhotos()//加载图片; { if(m_mode==1) { ProductChooseFilter dlg; CString name; int i = 0; for( i=0; iGetSize()); MessageBox(ss);*/ m_vFileName.clear(); for(int i=0; iGetSize (); i++) { CString filePath=pArray->ElementAt (i); filePath.MakeLower(); m_vFileName.push_back(filePath); } LoadThumbImages(); } void ChoosePhotoSkin2::GetNoSelPhoto() { m_patharray3.RemoveAll(); CString str1, str2; for(int i=0; i'2';id='"+m_strOrderNumber+"';;;id='"+m_strOrderNumber+"'"; #endif g_sendhead.code[0]=50; // dindansp; g_sendhead.code[1]=11; // dindan. g_sendhead.code[2]=4; g_sendhead.code[3]=8; g_sendhead.code[4]=182; g_sendhead.tabcount=5; g_sendhead.bsql=0; g_pMainWnd->ProcessChatMessageRequest2(filter);if(g_bSendOK==0)return 0; CArraysparray; DataToArray(&sparray, &g_List1array, &m_sparray, &m_List2array, &oldsparray); m_patharray2.RemoveAll (); CString str,kind; int nchoosezs=0; int list2pos=0; int list3pos=0; CString savepath; savepath.Format ("%s\\%s-2.dat", g_mainpath, m_strOrderNumber); CString stm1=GetModifyTime2(savepath); CTime tm1=CTime::GetCurrentTime (); tm1-=CTimeSpan(60, 0, 0, 0); CString stm2=tm1.Format ("%Y%m%d"); BOOL bLoadHistory=0; if(::CheckFileExist (savepath) && stm1>stm2) { if(AfxMessageBox("提醒:请谨慎操作\r\n上次选片未正常退出, 是否还原到上次选片状态?", MB_YESNO|MB_ICONINFORMATION)==IDYES) bLoadHistory=1; } if(bLoadHistory) { CArrayList1array; CFile fp; fp.Open (savepath, CFile::modeRead); DWORD nMessageLen=fp.GetLength (); BYTE *szChatMessage = new BYTE[nMessageLen]; fp.Read (szChatMessage, nMessageLen); fp.Close (); int count; memcpy(&count, szChatMessage+(nMessageLen-sizeof(int)), sizeof(int)); CMemFile memfile; memfile.Attach (szChatMessage, nMessageLen); CArchive ar(&memfile, CArchive::load); List1array.SetSize(count); int i = 0; for( i=0; iGetSize ()) { int size=pArray[i]->GetSize ()-1; CString sTemp; int nPos; for(int ii=0;iiElementAt (size-ii); pArray[i]->SetAt (size-ii, pArray[i]->ElementAt (nPos)); pArray[i]->SetAt (nPos, sTemp); } } } } else { for(int i=0; i<6; i++) { m_combo1.ResetContent (); CString Temp; int j = 0; for( j=0; jGetSize (); j++) { m_combo1.AddString (pArray[i]->ElementAt (j)); } for( j=0; jGetSize (); j++) { m_combo1.GetLBText (j, Temp); pArray[i]->SetAt (j, Temp); } } } { TerminateThread(); CStringArray *pArray=GetCurArray(); m_vFileName.clear(); for(int i=0; iGetSize (); i++) { CString filePath=pArray->ElementAt (i); filePath.MakeLower(); m_vFileName.push_back(filePath); } LoadThumbImages(); } } void ChoosePhotoSkin2::CheckForDisk() // 检查入底; { int i = 0; for( i=0; iGetSize (); j++) { m_combo1.AddString (pArray[i]->ElementAt (j)); } for( j=0; jGetSize (); j++) { m_combo1.GetLBText (j, Temp); pArray[i]->SetAt (j, Temp); } } } void ChoosePhotoSkin2::Save() { CString sql; CArraysparray; sparray.SetSize(m_List2.GetItemCount ()+m_no2array.GetSize ()); int i = 0; for( i=0; iGetWindowRect (rc); ScreenToClient(rc); rc.right -=rc.left ; rc.left =5; rc.right +=5; rc.top +=20; rc.right -=15; CDC *pDC=GetDC(); Graphics graph(pDC->GetSafeHdc()); Rect destinationRect(rc.left,rc.top,rc.Width (), rc.Height ()); RectF layoutRect(rc.left , rc.top, rc.Width (), rc.Height ()); rc.left /=g_fscalex; rc.right /=g_fscalex; rc.top /=g_fscaley; rc.bottom /=g_fscaley; // graph.SetSmoothingMode(SmoothingModeHighQuality); graph.DrawImage(m_pBk, destinationRect, rc.left , rc.top ,rc.Width (), rc.Height (),UnitPixel); StringFormat format; format.SetAlignment(StringAlignmentNear ); SolidBrush *Brush=new SolidBrush(Color(255,255,255,255)); CString str; str.Format ("张数:%d", m_List1.GetItemCount ()); int leng=GetLengthEx(str); BSTR bstr= str.AllocSysString(); Gdiplus::Font *g_TimerFont=new Gdiplus::Font(L"黑体", 13); graph.SetTextRenderingHint(TextRenderingHintAntiAlias); graph.DrawString( bstr, leng, g_TimerFont, layoutRect, &format, Brush); delete Brush; delete g_TimerFont; SysFreeString(bstr); ReleaseDC(pDC); } BOOL ChoosePhotoSkin2::CheckOK(CString name) { if(name.GetLength ()>4)return 0; for(int i=0; i'9')return 0; } return 1; } BOOL ChoosePhotoSkin2::CheckName(CString name) {//$001.002.003 int pos=name.Find ("$"); if(pos!=0)return 0; name.Delete (0,1); pos=name.Find ("."); while(pos!=-1) { if(CheckOK(name.Left (pos))==0)return 0; name=name.Right (name.GetLength ()-pos-1); pos=name.Find ("."); } return CheckOK(name); } void ChoosePhotoSkin2::DelNo(CString no) { CString no2; for(int i=0; i=0; i--) { CString no; no=m_patharray1.ElementAt (i); no=no.Right (no.GetLength ()-no.ReverseFind ('\\')-1); no=no.Left (no.Find ('.')); no=","+no; no+=","; if(photosno.Find (no)!=-1) { no=m_patharray1.ElementAt (i); m_patharray5.Add (no); } } LoadPhotos(); } void ChoosePhotoSkin2::GetDiskPhoto()//查看入底相片; { if(m_mode==5)return; m_mode=5; m_patharray6.RemoveAll (); CString photosno; int i = 0; for( i=0; i=0; i--) { CString no; no=m_patharray1.ElementAt (i); no=no.Right (no.GetLength ()-no.ReverseFind ('\\')-1); no=no.Left (no.Find ('.')); no=","+no; no+=","; if(photosno.Find (no)!=-1) { no=m_patharray1.ElementAt (i); m_patharray6.Add (no); } } LoadPhotos(); } BOOL ChoosePhotoSkin2::ReLoad() { if(m_mode2==0) return GetData(); else return GetData2(); } BOOL ChoosePhotoSkin2::IsPhoto2Exist() { CString path2; CString path=g_path2+"\\"; path+=m_strOrderNumber; path +="\\"; using namespace helper_coffs; ffsco o; o.dirs(0); o.find(LPCSTR(path), LPCSTR("*.jpg")); ffsco::typeT coo; coo = o.co_file(); return coo.size(); } void ChoosePhotoSkin2::ReLoadPhoto() { if(!((MyBmpButton2*)m_picarray.ElementAt (8))->GetPushDown ()) { m_path=g_path3+"\\"; m_path+=m_strOrderNumber; m_path +="\\"; GetPhotos(); m_bChooseBig=0; } else { m_bChooseBig=1; IsGrowthTx growthtxdlg; growthtxdlg.m_mode=1; growthtxdlg.m_strOrderNumber=m_strOrderNumber; growthtxdlg.DoModal (); m_bGrowthTX=growthtxdlg.m_bGrowthTx; m_seltxname=growthtxdlg.m_seltxname; m_patharray1.RemoveAll(); if(CheckHC()) // { CString str; m_bFromLocal=1; char path[MAX_PATH]; ::GetSystemDirectory (path, MAX_PATH); CString sysdir=path; sysdir+="\\lyfz"; ::CreateDirectory (sysdir, NULL); sysdir+="\\"; sysdir+=m_strOrderNumber; using namespace helper_coffs; ffsco o; o.dirs(1); o.find(LPCSTR(sysdir), LPCSTR("*.jpg")); ffsco::typeT coo; ffsco::typeT::iterator it; coo = o.co_file(); for (it = coo.begin();coo.end() != it;it ++) { str=(*it).c_str(); if(str.GetAt (str.ReverseFind ('\\')+1)!='s' && str.GetAt (str.ReverseFind ('\\')+1)!='m') { m_patharray1.Add (str); } } } if(m_patharray1.GetSize ()==0) { if(IsPhoto2Exist()) { SelBrunDevice dlg; dlg.m_mode=1; if(dlg.DoModal ()==IDOK) m_nChoosePhotoType=dlg.m_sel; else m_nChoosePhotoType=0; //m_nChoosePhotoType=0 原片+修片 1:修片 2:原片 } else AfxMessageBox("温馨提示:\r\n未找到初修片,将使用原片选片", MB_ICONINFORMATION); { CString path,path2; m_path=g_path1+"\\"; m_path+=m_strOrderNumber; m_path +="\\"; if(m_seltxname!="" && m_seltxname!="全部") { m_path+=m_seltxname; m_path +="\\"; } if(m_nChoosePhotoType==1) // 选片:修片 { m_path=g_path2+"\\"; m_path+=m_strOrderNumber; m_path +="\\"; } CString filename; using namespace helper_coffs; ffsco o; o.dirs(1); o.find(LPCSTR(m_path), LPCSTR("*.*")); ffsco::typeT coo; ffsco::typeT::iterator it; coo = o.co_file(); for (it = coo.begin();coo.end() != it;it ++) { path=(*it).c_str(); if(path.GetAt (path.ReverseFind ('\\')+1)!='s' && path.GetAt (path.ReverseFind ('\\')+1)!='m') { path.MakeLower (); filename=path.Right(path.GetLength()-path.ReverseFind ('\\')-1); if(filename.Find(".")!=-1) filename=filename.Left(filename.Find(".")); if(!myisdigit(filename))continue; if(m_nChoosePhotoType==1) { m_patharray1.Add (path); } else { path2=path; if(m_nChoosePhotoType==0) path2.Replace ("客户原片", "修好的片"); if(m_bGrowthTX==0) { int pos=path2.Find (m_strOrderNumber); pos+=m_strOrderNumber.GetLength (); int pos2=path2.ReverseFind ('\\'); path2=path2.Left (pos)+path2.Right (path2.GetLength ()-pos2); } if(m_nChoosePhotoType==0 && ::PathFileExists (path2)) { m_patharray1.Add (path2); } else { path2.Replace (".raw", ".jpg"); if(::PathFileExists (path2)) { m_patharray1.Add (path2);continue; } path2.Replace (".nef", ".jpg"); if(::PathFileExists (path2)) { m_patharray1.Add (path2);continue; } path2.Replace (".cr2", ".jpg"); if(::PathFileExists (path2)) { m_patharray1.Add (path2);continue; } else { if(path.Right(3)!="jpg")continue; m_patharray1.Add (path); } } } } } } // if(0) {//多种修好的效果 CString path,path2; path2=g_path2+"\\"; path2+=m_strOrderNumber; path2 +="\\"; using namespace helper_coffs; ffsco o; o.dirs(0); o.find(LPCSTR(path2), LPCSTR("*.jpg")); ffsco::typeT coo; ffsco::typeT::iterator it; coo = o.co_file(); for (it = coo.begin(); coo.end() != it; it ++) { path=(*it).c_str(); if(path.GetAt (path.ReverseFind ('\\')+1)!='s' && path.GetAt (path.ReverseFind ('\\')+1)!='m') { path.MakeLower(); path2=path.Right (path.GetLength ()-path.ReverseFind ('\\')-1); if(path2.Find ("-")!=-1) { m_patharray1.Add (path); } } } } ///////////////// if(0)//atoi(g_cominfoarray.ElementAt(0).ElementAt(109))==0) { char path[MAX_PATH]; ::GetSystemDirectory (path, MAX_PATH); CString sysdir=path; sysdir+="\\lyfz"; ::CreateDirectory (sysdir, NULL); sysdir+="\\"; sysdir+=m_strOrderNumber; ::CreateDirectory (sysdir, NULL); sysdir+="\\"; ImportPhoto dlg; dlg.m_bCopyToLocal=1; dlg.m_mode =1; dlg.m_pArray=&m_patharray1; dlg.m_savepath =sysdir; dlg.DoModal (); CStringArray temparray; CString filename; for(int i=0; i