You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
159 lines
4.0 KiB
C++
159 lines
4.0 KiB
C++
|
|
#include "stdafx.h"
|
|
#include "DlgMarkPar.h"
|
|
#include "afxdialogex.h"
|
|
#include "MarkParMgr.h"
|
|
#include "GlobalFunction.h"
|
|
#include "MsgBox.h"
|
|
#include "AuthorityMgr.h"
|
|
#include "MarkCtrl.h"
|
|
#include "LaipuVbDllMgr.h"
|
|
|
|
|
|
|
|
|
|
|
|
IMPLEMENT_DYNAMIC(CDlgMarkPar, CDialogEx)
|
|
|
|
CDlgMarkPar::CDlgMarkPar(CWnd* pParent /*=NULL*/)
|
|
{
|
|
m_CurPen = 0;//当前笔号
|
|
}
|
|
|
|
CDlgMarkPar::~CDlgMarkPar()
|
|
{
|
|
}
|
|
|
|
void CDlgMarkPar::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialogEx::DoDataExchange(pDX);
|
|
DDX_Control(pDX, IDC_PAR_LIST, m_PenList);
|
|
DDX_Text(pDX, IDC_CUR_PEN, m_CurPen);
|
|
DDX_Text(pDX, IDC_MS, m_CurPar.ms);
|
|
DDX_Text(pDX, IDC_MMS, m_CurPar.mms);
|
|
DDX_Text(pDX, IDC_TOF, m_CurPar.tof);
|
|
DDX_Text(pDX, IDC_TOH, m_CurPar.toh);
|
|
DDX_Text(pDX, IDC_TCF, m_CurPar.tcf);
|
|
DDX_Text(pDX, IDC_TCH, m_CurPar.tch);
|
|
DDX_Text(pDX, IDC_DR, m_CurPar.dr_time);
|
|
DDX_Text(pDX, IDC_LASER_FRE, m_CurPar.laserfre);
|
|
DDX_Text(pDX, IDC_LASER_POWER, m_CurPar.laserpower);
|
|
}
|
|
BEGIN_MESSAGE_MAP(CDlgMarkPar, CDialogEx)
|
|
ON_NOTIFY(NM_CLICK, IDC_PAR_LIST, &CDlgMarkPar::OnNMClickParList)
|
|
ON_NOTIFY(NM_CUSTOMDRAW, IDC_PAR_LIST, OnCustomdrawMyList)
|
|
ON_BN_CLICKED(IDC_COMMIT, &CDlgMarkPar::OnBnClickedCommit)
|
|
END_MESSAGE_MAP()
|
|
|
|
// CDlgStdMarkCtr 消息处理程序
|
|
BOOL CDlgMarkPar::OnInitDialog()
|
|
{
|
|
CDialogEx::OnInitDialog();
|
|
|
|
IniPenList();
|
|
UpdatePenList();
|
|
|
|
gMarkParMgr->SaveOrLoad(false);//从文件读取参数
|
|
gMarkParMgr->SetCurPenNum(m_CurPen);
|
|
|
|
UpdatePar();
|
|
UpdateData(FALSE);
|
|
return TRUE;
|
|
}
|
|
#if 1
|
|
void CDlgMarkPar::IniPenList()
|
|
{
|
|
//设置风格
|
|
m_PenList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
|
|
//设置列
|
|
int idx = 0;
|
|
m_PenList.InsertColumn(idx,"笔号",LVCFMT_CENTER,50,-1);
|
|
idx++;
|
|
m_PenList.InsertColumn(idx,"颜色",LVCFMT_CENTER,90,-1);
|
|
}
|
|
void CDlgMarkPar::UpdatePenList()
|
|
{
|
|
m_PenList.DeleteAllItems();
|
|
gMarkParMgr->InsertToList(m_PenList);
|
|
}
|
|
void CDlgMarkPar::UpdatePar()
|
|
{
|
|
m_CurPar = gMarkParMgr->GetPen(m_CurPen);
|
|
UpdateData(FALSE);
|
|
}
|
|
void CDlgMarkPar::OnNMClickParList(NMHDR *pNMHDR, LRESULT *pResult)
|
|
{
|
|
LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
|
|
*pResult = 0;
|
|
|
|
if(gAuthorityMgr->CheckAuthority(_FACTORY))
|
|
{
|
|
UpdateData(TRUE);
|
|
m_CurPen=GetCurListIdx(m_PenList);
|
|
gMarkParMgr->SetCurPenNum(m_CurPen);
|
|
m_CurPar = gMarkParMgr->GetPen(m_CurPen);
|
|
UpdateData(FALSE);
|
|
}
|
|
}
|
|
//获取list 当前选择的行号
|
|
int CDlgMarkPar::GetCurListIdx(CListCtrl &list)
|
|
{
|
|
POSITION pos = list.GetFirstSelectedItemPosition();
|
|
if (pos == NULL)
|
|
{
|
|
return -1;
|
|
}
|
|
else
|
|
{
|
|
while (pos)
|
|
{
|
|
int nItem = list.GetNextSelectedItem(pos);
|
|
return nItem;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
//设置笔号对应的颜色
|
|
void CDlgMarkPar::OnCustomdrawMyList ( NMHDR* pNMHDR, LRESULT* pResult )
|
|
{
|
|
NMLVCUSTOMDRAW* pLVCD = reinterpret_cast<NMLVCUSTOMDRAW*>( pNMHDR );
|
|
*pResult = CDRF_DODEFAULT;
|
|
if( CDDS_PREPAINT == pLVCD->nmcd.dwDrawStage )
|
|
{
|
|
*pResult = CDRF_NOTIFYITEMDRAW;
|
|
}
|
|
else if( CDDS_ITEMPREPAINT == pLVCD->nmcd.dwDrawStage )
|
|
{
|
|
*pResult = CDRF_NOTIFYSUBITEMDRAW;
|
|
}
|
|
else if((CDDS_ITEMPREPAINT | CDDS_SUBITEM) == pLVCD->nmcd.dwDrawStage )
|
|
{
|
|
COLORREF crText, crBkgnd;
|
|
if(1 == pLVCD->iSubItem)
|
|
{
|
|
crText = RGB_BLACK;
|
|
crBkgnd = gMarkParMgr->GetPenColor(pLVCD->nmcd.dwItemSpec);
|
|
}
|
|
else
|
|
{
|
|
crText = RGB_BLACK;
|
|
crBkgnd = RGB_WHITE;
|
|
}
|
|
pLVCD->clrText = crText;
|
|
pLVCD->clrTextBk = crBkgnd;
|
|
|
|
*pResult = CDRF_DODEFAULT;
|
|
}
|
|
}
|
|
#endif
|
|
//保存当前笔的参数
|
|
void CDlgMarkPar::OnBnClickedCommit()
|
|
{
|
|
if(gAuthorityMgr->CheckAuthority(_FACTORY,true)==false)
|
|
return;
|
|
UpdateData(TRUE);
|
|
gMarkParMgr->SaveCurPen(m_CurPen,m_CurPar);
|
|
CMsgBox MsgBox;
|
|
MsgBox.Show("已保存",false);
|
|
}
|