📄 jobdlg.cpp
字号:
CNumDlg dlg;
dlg.m_num=pw->m_StartPoint.y+pw->m_Size.cy;
dlg.m_info.Format(IDS_TO+g_language);
if(dlg.DoModal()==IDOK)
{
if(dlg.m_num>pw->m_Wea1->WeaSize.cy || dlg.m_num<pw->m_StartPoint.y+1)
{
AfxMessageBox(IDS_ERROR_END+g_language);
return;
}
pw->m_Size.cy=dlg.m_num-pw->m_StartPoint.y;
}
pw->SetRange(pw->m_StartPoint,pw->m_Size);
UpdateList(m_index);
*/
}
void CJobDlg::OnWearepeat()
{
CWea* pw=(CWea*)g_job.GetAt(m_index);
CString info;
int x;
info.Format(IDS_WEAREPEAT+g_language);
if(m_hDLL)
{
x=get_number(info,pw->m_nRepeat,g_language);
if(x==pw->m_nRepeat)
return;
pw->m_nRepeat=x;
UpdateList(m_index);
m_bModified=TRUE;
}
/* CWea* pw=(CWea*)g_job.GetAt(m_index);
CNumDlg dlg;
dlg.m_num=pw->m_nRepeat;
dlg.m_info.Format(IDS_WEAREPEAT+g_language);
if(dlg.DoModal()==IDOK)
{
pw->m_nRepeat=dlg.m_num;
}
UpdateList(m_index);
m_bModified=TRUE;
*/}
void CJobDlg::EnableKey(BOOL enable)
{
UINT cont[]={IDC_DEL,IDC_DOWN,IDC_FROM,IDC_TO,IDC_WEAREPEAT,
IDC_SAVEJOB,IDC_JOBREPEAT};
for(int i=0;i<sizeof(cont)/sizeof(UINT);i++)
{
CWnd* pWnd=GetDlgItem(cont[i]);
pWnd->EnableWindow(enable);
}
}
void CJobDlg::EnableOK(BOOL enable)
{
CWnd* pWnd=GetDlgItem(IDOK);
pWnd->EnableWindow(enable);
}
void CJobDlg::OnLoadjob()
{
CString fn=GetFileName(CString(".JOB"));
if(fn.IsEmpty())
return;
/* CString lpszFullName;
DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
LPCTSTR lpszFilter = ".job Files(*..job)|*.job|All files(*.*)|*.*||";
CFileDialog dlg(TRUE,NULL,NULL,dwFlags,lpszFilter,NULL);
if(dlg.DoModal() == IDOK)
{
lpszFullName=dlg.GetPathName();
}
else
return;
CFileDlg dlg;
dlg.m_match=CString("*.job");
dlg.m_info.Format(IDS_SELECT_JOB_NAME+g_language);
if(dlg.DoModal()==IDOK)
{
lpszFullName=dlg.m_file;
}
*/
CJobList temp;
temp.m_Width=g_job.m_Width;
if(!temp.OpenDocument(fn))
{
return;
}
OnClearjob();
g_job.OpenDocument(fn);
m_index=0;
UpdateList(m_index);
if(m_bEnable==0)
{
EnableKey(1);
m_bEnable=1;
}
EnableOK(1);
m_JobName=fn;
// m_job=g_job;
g_bProgramReady=1;
char drive[_MAX_DRIVE];
char dir[_MAX_DIR];
char fname[_MAX_FNAME];
char ext[_MAX_EXT];
_splitpath( fn, drive, dir, fname, ext );
// char buffer[_MAX_PATH];
g_job.m_JobFileName=CString(fname)+CString(ext);
// _getcwd(buffer,_MAX_PATH);
g_job.m_JobPathName=CString(drive)+CString(dir);
m_bModified=TRUE;
}
void CJobDlg::OnSavejob()
{
// if(m_JobName.IsEmpty())
/* {
DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
LPCTSTR lpszFilter = ".job Files(*..job)|*.job|All files(*.*)|*.*||";
CFileDialog dlg(FALSE,NULL,NULL,dwFlags,lpszFilter,NULL);
if(dlg.DoModal() == IDOK)
{
m_JobName=dlg.GetPathName();
}
else
return;
}
*/
CString fn;
CString info;
info.Format(IDS_INPUT_JOB_NAME+g_language);
if(m_hDLL)
{
fn=get_string(info,g_job.m_JobFileName,g_language);
if(fn.Right(4)!=CString(".JOB"))
return;
g_job.m_JobPathName=CString("D:\\CCJB\\JOB");
SetCurrentDirectory(g_job.m_JobPathName);
CFileFind finder;
BOOL bFound = finder.FindFile(fn);
if(bFound)
{
CString s;
s.Format(IDS_IF_OVERRIDE+g_language);
if(AfxMessageBox(s,MB_OKCANCEL)!=IDOK)
return;
}
g_job.m_JobFileName=fn;
m_JobName=g_job.m_JobPathName+CString("\\");
m_JobName+=fn;
g_job.SaveDocument(m_JobName);
UpdateList(m_index);
EnableOK(1);
SaveIni(&g_job,&g_running);
UpdateData(0);
}
/*
CString fn;
CKeyBDlg dlg;
dlg.m_info.Format(IDS_INPUT_JOB_NAME+g_language);
dlg.m_bShow=1;
if(dlg.DoModal()==IDOK)
fn=dlg.m_sEdit;
if(fn.IsEmpty())
return;
if(fn.Right(4)!=CString(".JOB"))
return;
g_job.m_JobPathName=CString("D:\\CCJB\\JOB");
SetCurrentDirectory(g_job.m_JobPathName);
CFileFind finder;
BOOL bFound = finder.FindFile(fn);
if(bFound)
{
CString s;
s.Format(IDS_IF_OVERRIDE+g_language);
if(AfxMessageBox(s,MB_OKCANCEL)!=IDOK)
return;
}
g_job.m_JobFileName=fn;
m_JobName=g_job.m_JobPathName+CString("\\");
m_JobName+=fn;
g_job.SaveDocument(m_JobName);
UpdateList(m_index);
EnableOK(1);
// m_job=g_job;
SaveIni(&g_job,&g_running);
UpdateData(0);
*/
}
void CJobDlg::OnJobrepeat()
{
CString info;
int x;
info.Format(IDS_JOBREPEAT+g_language);
if(m_hDLL)
{
x=get_number(info,g_job.m_nRepeat,g_language);
if(x==g_job.m_nRepeat)
return;
g_job.m_nRepeat=x;
UpdateList(m_index);
m_bModified=TRUE;
}
/*
CNumDlg dlg;
CString info;
dlg.m_info.Format(IDS_JOBREPEAT+g_language);
dlg.m_num=g_job.m_nRepeat;
if(dlg.DoModal()==IDOK)
{
g_job.m_nRepeat=dlg.m_num;
UpdateList(m_index);
}
m_bModified=TRUE;*/
}
void CJobDlg::OnOK()
{
if(m_bModified==TRUE)
{
if(g_job.GetSize()>=1)
{
g_job.SaveDocument();
SaveIni(&g_job,&g_running);
}
};
if(g_job.GetSize()>0)
{
g_job.ReArrange();
g_running.Initialize(&g_job);
g_bProgramReady=TRUE;
}
else
g_bProgramReady=FALSE;
CDialog::OnOK();
}
/*
void CJobDlg::OnCancel()
{
// TODO: Add extra cleanup here
WritePrivateProfileString ("Job File", "Filename","", "wea2.ini");
g_job.RemoveAll();
EnableOK(0);
CDialog::OnCancel();
}
*/
void CJobDlg::OnBack()
{
if(m_job.m_Width==0)
return;
g_bProgramReady=1;
g_job=m_job;
g_job.ReArrange();
UpdateList(0);
m_index=0;
// g_running.m_WritePointer=m_pointer;
m_bModified=FALSE;
}
void CJobDlg::OnClearjob()
{
// TODO: Add your control notification handler code here
g_bSendData=0;
g_running.StopRun();
int n=g_job.GetSize();
for(int i=n-1;i>=0;i--)
{
CWea* wea=(CWea*)g_job.GetAt(i);
delete wea;
g_job.RemoveAt(i);
}
g_bProgramReady=FALSE;
m_bEnable=0;
EnableKey(0);
// EnableOK(0);
m_JobName.Empty();
UpdateData(0);
m_index=-1;
UpdateList(-1);
// m_pointer=g_running.m_WritePointer;
g_running.InitialWriterPointer();
m_bModified=TRUE;
}
LRESULT CJobDlg::OnLanguage(WPARAM wParam,LPARAM lParam)
{
CBiling bil;
bil.m_language=(LANGUAGE) wParam;
UINT id[]={IDOK,IDC_APPEND,IDC_INSERT, IDC_DEL,IDC_FROM,IDC_TO,IDC_WEAREPEAT,IDC_LOADJOB,IDC_BACK,
IDC_SAVEJOB,IDC_CLEARJOB,IDC_JOBREPEAT,IDC_STATIC1,IDC_STATIC2};
UINT str[]={IDS_EXIT,IDS_APPEND,IDS_INSERT, IDS_DELETE,IDS_FROM,IDS_TO,IDS_WEAREPEAT,IDS_LOADJOB,IDS_BACK,
IDS_SAVEJOB,IDS_CLEARJOB,IDS_JOBREPEAT,IDS_WEAFILE,IDS_JOBFILE};
int num=sizeof(id)/sizeof(UINT);
bil.m_StrID=str;
bil.m_ResID=id;
bil.Set(this,num);
CStringArray SA;
switch(wParam)
{
case 0:
SA.Add("Wea Filename");
SA.Add("Picks ");
SA.Add("Start Pick"); //from
SA.Add("End Pick "); //to
SA.Add("Repeat ");
InitialList(&m_WeaList,SA);
SA.RemoveAll();
SA.Add("Job_List Filename");
SA.Add("Job Repeat");
InitialList(&m_JobList,SA);
break;
case 1:
default:
SA.Add("花样文件");
SA.Add("纬数 ");
SA.Add("起始纬"); //from
SA.Add("终止纬"); //to
SA.Add("重复 ");
InitialList(&m_WeaList,SA);
SA.RemoveAll();
SA.Add("工作单文件 ");
SA.Add("工作单重复");
InitialList(&m_JobList,SA);
}
CWnd* pWnd=GetParent( );
if(pWnd)
{
HWND hwnd=pWnd->GetSafeHwnd();
::PostMessage(hwnd,WM_LANGUAGE,wParam,0);
}
return 0L;
}
CString CJobDlg::GetFileName(CString ext)
{
CString fn;
HINSTANCE hDLL;
SEL_F sel;
hDLL=NULL;
hDLL = LoadLibrary("file_dll");
if (hDLL != NULL)
{
sel=(SEL_F)GetProcAddress(hDLL, "SelectFile");
if ( !sel)
{
AfxMessageBox("Can't load dll function --- SelectFile");
}
else
{
fn=sel(ext,g_language);
}
FreeLibrary(hDLL);
}
else
AfxMessageBox("Can't load DLL");
return fn;
}
void CJobDlg::OnDestroy()
{
CDialog::OnDestroy();
if(m_hDLL)
{
FreeLibrary(m_hDLL);
m_hDLL=NULL;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -