📄 algorithmsetpage.cpp
字号:
switch(tagGroup.session)
{
case RFID_18K6C_INVENTORY_SESSION_S0:
m_ctrlComboSelectSession.SetCurSel(0);
break;
case RFID_18K6C_INVENTORY_SESSION_S1:
m_ctrlComboSelectSession.SetCurSel(1);
break;
case RFID_18K6C_INVENTORY_SESSION_S2:
m_ctrlComboSelectSession.SetCurSel(2);
break;
case RFID_18K6C_INVENTORY_SESSION_S3:
m_ctrlComboSelectSession.SetCurSel(3);
break;
default:
m_ctrlComboSelectSession.SetCurSel(4);
break;
}
switch(tagGroup.target)
{
case RFID_18K6C_INVENTORY_SESSION_TARGET_A:
m_ctrlComboSelectSessionTarget.SetCurSel(0);
break;
case RFID_18K6C_INVENTORY_SESSION_TARGET_B:
m_ctrlComboSelectSessionTarget.SetCurSel(1);
break;
default:
m_ctrlComboSelectSessionTarget.SetCurSel(2);
break;
}
theApp.DoWaitCursor(-1);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CAlgorithmSetPage::OnCbnSelchangeComboAlgorithm()
{
int flag = m_ctrlComboAlgorithm.GetCurSel();
RFID_18K6C_QUERY_PARMS parms;
CMainFrame* pFrame = (CMainFrame*)AfxGetMainWnd();
pFrame->GetRFIDRadioManager()->GetRadio18K6CQueryParameters(0, &parms);
switch(flag)
{
case 0:
{
pFrame->GetRFIDRadioManager()->SetRadio18K6CCurrentSingulationAlgorithm(0,
RFID_18K6C_SINGULATION_ALGORITHM_FIXEDQ);
RFID_18K6C_SINGULATION_FIXEDQ_PARMS fixedq_parms = parms.singulationParms.parameters.fixedQ;
CString temp;
CEdit* pStartQEdit = (CEdit*)GetDlgItem(IDC_EDIT_START_Q); pStartQEdit->SetWindowText(_T(""));
CEdit* pMinQEdit = (CEdit*)GetDlgItem(IDC_EDIT_MIN_Q); pMinQEdit->SetWindowText(_T(""));
CEdit* pMaxQEdit = (CEdit*)GetDlgItem(IDC_EDIT_MAX_Q); pMaxQEdit->SetWindowText(_T(""));
CEdit* pRetryEdit = (CEdit*)GetDlgItem(IDC_EDIT_RETRY_COUNT); pRetryEdit->SetWindowText(_T(""));
CEdit* pQValueEdit = (CEdit*)GetDlgItem(IDC_EDIT_Q_VALUE); pQValueEdit->SetWindowText(_T(""));
CEdit* pMaxQueryCntEdit = (CEdit*)GetDlgItem(IDC_EDIT_MAX_QUERY_REPS); pMaxQueryCntEdit->SetWindowText(_T(""));
CEdit* pThresholdMultiplierEdit = (CEdit*)GetDlgItem(IDC_EDIT_THRESHOLD_MULTIPLIER); pThresholdMultiplierEdit->SetWindowText(_T(""));
pStartQEdit->EnableWindow(FALSE);
pMinQEdit->EnableWindow(FALSE);
pMaxQEdit->EnableWindow(FALSE);
pRetryEdit->EnableWindow(TRUE);
pQValueEdit->EnableWindow(TRUE);
pMaxQueryCntEdit->EnableWindow(FALSE);
pThresholdMultiplierEdit->EnableWindow(FALSE);
m_ctrlSpinButtonCtrlStartQ.EnableWindow(FALSE);
m_ctrlSpinButtonCtrlMinQ.EnableWindow(FALSE);
m_ctrlSpinButtonCtrlMaxQ.EnableWindow(FALSE);
m_ctrlSpinButtonCtrlRetryCount.EnableWindow(TRUE);
m_ctrlSpinButtonCtrlQValue.EnableWindow(TRUE);
m_ctrlSpinButtonCtrlMaxQueryReps.EnableWindow(FALSE);
m_ctrlSpinButtonCtrlThresholdMultiplier.EnableWindow(FALSE);
m_ctrlComboToggleTarget.EnableWindow(TRUE);
m_ctrlComboRepeatUntilNoTags.EnableWindow(TRUE);
temp.Format(_T("%u"),fixedq_parms.qValue);
pQValueEdit->SetWindowText(temp);
temp.Format(_T("%u"),fixedq_parms.retryCount);
pRetryEdit->SetWindowText(temp);
if(fixedq_parms.toggleTarget == 0)
m_ctrlComboToggleTarget.SetCurSel(0);
else
m_ctrlComboToggleTarget.SetCurSel(1);
if(fixedq_parms.repeatUntilNoTags == 0)
m_ctrlComboRepeatUntilNoTags.SetCurSel(0);
else
m_ctrlComboRepeatUntilNoTags.SetCurSel(1);
break;
}
case 1:
{
pFrame->GetRFIDRadioManager()->SetRadio18K6CCurrentSingulationAlgorithm(0,
RFID_18K6C_SINGULATION_ALGORITHM_DYNAMICQ);
RFID_18K6C_SINGULATION_DYNAMICQ_PARMS dynamicq_parms = parms.singulationParms.parameters.dynamicQ;
CString temp;
CEdit* pStartQEdit = (CEdit*)GetDlgItem(IDC_EDIT_START_Q); pStartQEdit->SetWindowText(_T(""));
CEdit* pMinQEdit = (CEdit*)GetDlgItem(IDC_EDIT_MIN_Q); pMinQEdit->SetWindowText(_T(""));
CEdit* pMaxQEdit = (CEdit*)GetDlgItem(IDC_EDIT_MAX_Q); pMaxQEdit->SetWindowText(_T(""));
CEdit* pRetryEdit = (CEdit*)GetDlgItem(IDC_EDIT_RETRY_COUNT); pRetryEdit->SetWindowText(_T(""));
CEdit* pQValueEdit = (CEdit*)GetDlgItem(IDC_EDIT_Q_VALUE); pQValueEdit->SetWindowText(_T(""));
CEdit* pMaxQueryCntEdit = (CEdit*)GetDlgItem(IDC_EDIT_MAX_QUERY_REPS); pMaxQueryCntEdit->SetWindowText(_T(""));
CEdit* pThresholdMultiplierEdit = (CEdit*)GetDlgItem(IDC_EDIT_THRESHOLD_MULTIPLIER); pThresholdMultiplierEdit->SetWindowText(_T(""));
pStartQEdit->EnableWindow(TRUE);
pMinQEdit->EnableWindow(TRUE);
pMaxQEdit->EnableWindow(TRUE);
pRetryEdit->EnableWindow(TRUE);
pQValueEdit->EnableWindow(FALSE);
pMaxQueryCntEdit->EnableWindow(TRUE);
pThresholdMultiplierEdit->EnableWindow(FALSE);
m_ctrlSpinButtonCtrlStartQ.EnableWindow(TRUE);
m_ctrlSpinButtonCtrlMinQ.EnableWindow(TRUE);
m_ctrlSpinButtonCtrlMaxQ.EnableWindow(TRUE);
m_ctrlSpinButtonCtrlRetryCount.EnableWindow(TRUE);
m_ctrlSpinButtonCtrlQValue.EnableWindow(FALSE);
m_ctrlSpinButtonCtrlMaxQueryReps.EnableWindow(TRUE);
m_ctrlSpinButtonCtrlThresholdMultiplier.EnableWindow(FALSE);
m_ctrlComboToggleTarget.EnableWindow(TRUE);
m_ctrlComboRepeatUntilNoTags.EnableWindow(FALSE);
temp.Format(_T("%u"), dynamicq_parms.startQValue);
pStartQEdit->SetWindowText(temp);
temp.Format(_T("%u"), dynamicq_parms.maxQValue);
pMaxQEdit->SetWindowText(temp);
temp.Format(_T("%u"), dynamicq_parms.minQValue);
pMinQEdit->SetWindowText(temp);
temp.Format(_T("%u"), dynamicq_parms.retryCount);
pRetryEdit->SetWindowText(temp);
temp.Format(_T("%u"), dynamicq_parms.maxQueryRepCount);
pMaxQueryCntEdit->SetWindowText(temp);
if(dynamicq_parms.toggleTarget == 0)
m_ctrlComboToggleTarget.SetCurSel(0);
else
m_ctrlComboToggleTarget.SetCurSel(1);
break;
}
case 2:
{
pFrame->GetRFIDRadioManager()->SetRadio18K6CCurrentSingulationAlgorithm(0,
RFID_18K6C_SINGULATION_ALGORITHM_DYNAMICQ_ADJUST);
RFID_18K6C_SINGULATION_DYNAMICQ_ADJUST_PARMS dynamicq_adjust_parms = parms.singulationParms.parameters.dynamicQAdjust;
CString temp;
CEdit* pStartQEdit = (CEdit*)GetDlgItem(IDC_EDIT_START_Q); pStartQEdit->SetWindowText(_T(""));
CEdit* pMinQEdit = (CEdit*)GetDlgItem(IDC_EDIT_MIN_Q); pMinQEdit->SetWindowText(_T(""));
CEdit* pMaxQEdit = (CEdit*)GetDlgItem(IDC_EDIT_MAX_Q); pMaxQEdit->SetWindowText(_T(""));
CEdit* pRetryEdit = (CEdit*)GetDlgItem(IDC_EDIT_RETRY_COUNT); pRetryEdit->SetWindowText(_T(""));
CEdit* pQValueEdit = (CEdit*)GetDlgItem(IDC_EDIT_Q_VALUE); pQValueEdit->SetWindowText(_T(""));
CEdit* pMaxQueryCntEdit = (CEdit*)GetDlgItem(IDC_EDIT_MAX_QUERY_REPS); pMaxQueryCntEdit->SetWindowText(_T(""));
CEdit* pThresholdMultiplierEdit = (CEdit*)GetDlgItem(IDC_EDIT_THRESHOLD_MULTIPLIER); pThresholdMultiplierEdit->SetWindowText(_T(""));
pStartQEdit->EnableWindow(TRUE);
pMinQEdit->EnableWindow(TRUE);
pMaxQEdit->EnableWindow(TRUE);
pRetryEdit->EnableWindow(TRUE);
pQValueEdit->EnableWindow(FALSE);
pMaxQueryCntEdit->EnableWindow(TRUE);
pThresholdMultiplierEdit->EnableWindow(FALSE);
m_ctrlSpinButtonCtrlStartQ.EnableWindow(TRUE);
m_ctrlSpinButtonCtrlMinQ.EnableWindow(TRUE);
m_ctrlSpinButtonCtrlMaxQ.EnableWindow(TRUE);
m_ctrlSpinButtonCtrlRetryCount.EnableWindow(TRUE);
m_ctrlSpinButtonCtrlQValue.EnableWindow(FALSE);
m_ctrlSpinButtonCtrlMaxQueryReps.EnableWindow(TRUE);
m_ctrlSpinButtonCtrlThresholdMultiplier.EnableWindow(FALSE);
m_ctrlComboToggleTarget.EnableWindow(TRUE);
m_ctrlComboRepeatUntilNoTags.EnableWindow(FALSE);
temp.Format(_T("%u"), dynamicq_adjust_parms.startQValue);
pStartQEdit->SetWindowText(temp);
temp.Format(_T("%u"), dynamicq_adjust_parms.maxQValue);
pMaxQEdit->SetWindowText(temp);
temp.Format(_T("%u"), dynamicq_adjust_parms.minQValue);
pMinQEdit->SetWindowText(temp);
temp.Format(_T("%u"), dynamicq_adjust_parms.retryCount);
pRetryEdit->SetWindowText(temp);
temp.Format(_T("%u"), dynamicq_adjust_parms.maxQueryRepCount);
pMaxQueryCntEdit->SetWindowText(temp);
if(dynamicq_adjust_parms.toggleTarget == 0)
m_ctrlComboToggleTarget.SetCurSel(0);
else
m_ctrlComboToggleTarget.SetCurSel(1);
break;
}
case 3:
{
pFrame->GetRFIDRadioManager()->SetRadio18K6CCurrentSingulationAlgorithm(0,
RFID_18K6C_SINGULATION_ALGORITHM_DYNAMICQ_THRESH);
RFID_18K6C_SINGULATION_DYNAMICQ_THRESH_PARMS dynamicq_thresh_parms = parms.singulationParms.parameters.dynamicQThresh;
CString temp;
CEdit* pStartQEdit = (CEdit*)GetDlgItem(IDC_EDIT_START_Q); pStartQEdit->SetWindowText(_T(""));
CEdit* pMinQEdit = (CEdit*)GetDlgItem(IDC_EDIT_MIN_Q); pMinQEdit->SetWindowText(_T(""));
CEdit* pMaxQEdit = (CEdit*)GetDlgItem(IDC_EDIT_MAX_Q); pMaxQEdit->SetWindowText(_T(""));
CEdit* pRetryEdit = (CEdit*)GetDlgItem(IDC_EDIT_RETRY_COUNT); pRetryEdit->SetWindowText(_T(""));
CEdit* pQValueEdit = (CEdit*)GetDlgItem(IDC_EDIT_Q_VALUE); pQValueEdit->SetWindowText(_T(""));
CEdit* pMaxQueryCntEdit = (CEdit*)GetDlgItem(IDC_EDIT_MAX_QUERY_REPS); pMaxQueryCntEdit->SetWindowText(_T(""));
CEdit* pThresholdMultiplierEdit = (CEdit*)GetDlgItem(IDC_EDIT_THRESHOLD_MULTIPLIER); pThresholdMultiplierEdit->SetWindowText(_T(""));
pStartQEdit->EnableWindow(TRUE);
pMinQEdit->EnableWindow(TRUE);
pMaxQEdit->EnableWindow(TRUE);
pRetryEdit->EnableWindow(TRUE);
pQValueEdit->EnableWindow(FALSE);
pMaxQueryCntEdit->EnableWindow(FALSE);
pThresholdMultiplierEdit->EnableWindow(TRUE);
m_ctrlSpinButtonCtrlStartQ.EnableWindow(TRUE);
m_ctrlSpinButtonCtrlMinQ.EnableWindow(TRUE);
m_ctrlSpinButtonCtrlMaxQ.EnableWindow(TRUE);
m_ctrlSpinButtonCtrlRetryCount.EnableWindow(TRUE);
m_ctrlSpinButtonCtrlQValue.EnableWindow(FALSE);
m_ctrlSpinButtonCtrlMaxQueryReps.EnableWindow(FALSE);
m_ctrlSpinButtonCtrlThresholdMultiplier.EnableWindow(TRUE);
m_ctrlComboToggleTarget.EnableWindow(TRUE);
m_ctrlComboRepeatUntilNoTags.EnableWindow(FALSE);
temp.Format(_T("%u"), dynamicq_thresh_parms.startQValue);
pStartQEdit->SetWindowText(temp);
temp.Format(_T("%u"), dynamicq_thresh_parms.maxQValue);
pMaxQEdit->SetWindowText(temp);
temp.Format(_T("%u"), dynamicq_thresh_parms.minQValue);
pMinQEdit->SetWindowText(temp);
temp.Format(_T("%u"), dynamicq_thresh_parms.retryCount);
pRetryEdit->SetWindowText(temp);
temp.Format(_T("%u"), dynamicq_thresh_parms.thresholdMultiplier);
pThresholdMultiplierEdit->SetWindowText(temp);
if(dynamicq_thresh_parms.toggleTarget == 0)
m_ctrlComboToggleTarget.SetCurSel(0);
else
m_ctrlComboToggleTarget.SetCurSel(1);
break;
}
default:
pFrame->GetRFIDRadioManager()->SetRadio18K6CCurrentSingulationAlgorithm(0,
RFID_18K6C_SINGULATION_ALGORITHM_FIXEDQ - 1);
break;
}
}
void CAlgorithmSetPage::OnSize(UINT nType, int cx, int cy)
{
CPropertyPage::OnSize(nType, cx, cy);
// m_nCurHeight = cy;
SCROLLINFO si;
si.cbSize = sizeof(SCROLLINFO);
// si.fMask = SIF_ALL;
si.nMin = 0;
si.nMax = m_rcOriginalRect.Height();
si.nPage = cy;
si.nPos = 0;
SetScrollInfo(SB_VERT, &si, TRUE);
}
void CAlgorithmSetPage::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
int nDelta;
int nMaxPos = m_rcOriginalRect.Height();// - m_nCurHeight;
UINT id = pScrollBar->GetDlgCtrlID();
if(id != IDC_SCROLLBAR_ALGORITHM)
{
switch (nSBCode)
{
case SB_LINEDOWN:
if (m_nScrollPos >= nMaxPos)
return;
nDelta = min(max(nMaxPos/20,5),nMaxPos-m_nScrollPos);
break;
case SB_LINEUP:
if (m_nScrollPos <= 0)
return;
nDelta = -min(max(nMaxPos/20,5),m_nScrollPos);
break;
case SB_PAGEDOWN:
if (m_nScrollPos >= nMaxPos)
return;
nDelta = min(max(nMaxPos/10,5),nMaxPos-m_nScrollPos);
break;
case SB_THUMBTRACK:
case SB_THUMBPOSITION:
nDelta = (int)nPos - m_nScrollPos;
break;
case SB_PAGEUP:
if (m_nScrollPos <= 0)
return;
nDelta = -min(max(nMaxPos/10,5),m_nScrollPos);
break;
default:
return;
}
m_nScrollPos += nDelta;
Control_VScroll(-nDelta);
pScrollBar->SetScrollPos(m_nScrollPos, TRUE);
}
CPropertyPage::OnVScroll(nSBCode, nPos, pScrollBar);
}
void CAlgorithmSetPage::Control_VScroll(int interval)
{
CWnd * p_Child;
CRect rt;
HDWP h_Dwp;
UINT id, cnt =0;
int imsi;
if(interval)
{
h_Dwp = BeginDeferWindowPos(56);
p_Child = this->GetWindow(GW_CHILD);
while(p_Child)
{
cnt++;
p_Child->GetWindowRect(&rt);
ScreenToClient(rt);
id = p_Child->GetDlgCtrlID();
if(id != IDC_SCROLLBAR_ALGORITHM)
{
imsi = rt.top + interval;
DeferWindowPos(h_Dwp,p_Child->GetSafeHwnd(),HWND_TOP,rt.left,imsi,0,0,SWP_NOZORDER | SWP_NOSIZE);
}
p_Child = p_Child->GetNextWindow(GW_HWNDNEXT);
}
EndDeferWindowPos(h_Dwp);
}
}
void CAlgorithmSetPage::OnCbnSelchangeComboSelectState()
{
CMainFrame* pFrame = (CMainFrame*)AfxGetMainWnd();
RFID_18K6C_TAG_GROUP tagGroup;
pFrame->GetRFIDRadioManager()->GetRadio18K6CQueryTagGroup(0, &tagGroup);
switch(m_ctrlComboAlgorithm.GetCurSel())
{
case 0:
tagGroup.selected = RFID_18K6C_SELECTED_ALL;
pFrame->GetRFIDRadioManager()->SetRadio18K6CQueryTagGroup(0, &tagGroup);
break;
case 1:
tagGroup.selected = RFID_18K6C_SELECTED_OFF;
pFrame->GetRFIDRadioManager()->SetRadio18K6CQueryTagGroup(0, &tagGroup);
break;
case 2:
tagGroup.selected = RFID_18K6C_SELECTED_ON;
pFrame->GetRFIDRadioManager()->SetRadio18K6CQueryTagGroup(0, &tagGroup);
break;
default:
tagGroup.selected = -1;
pFrame->GetRFIDRadioManager()->SetRadio18K6CQueryTagGroup(0, &tagGroup);
break;
}
}
void CAlgorithmSetPage::OnCbnSelchangeComboSession()
{
CMainFrame* pFrame = (CMainFrame*)AfxGetMainWnd();
RFID_18K6C_TAG_GROUP tagGroup;
pFrame->GetRFIDRadioManager()->GetRadio18K6CQueryTagGroup(0, &tagGroup);
switch(m_ctrlComboSelectSession.GetCurSel())
{
case 0:
tagGroup.session = RFID_18K6C_INVENTORY_SESSION_S0;
pFrame->GetRFIDRadioManager()->SetRadio18K6CQueryTagGroup(0, &tagGroup);
break;
case 1:
tagGroup.session = RFID_18K6C_INVENTORY_SESSION_S1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -