📄 bitfeaturedlg.cpp
字号:
{
public:
CRelayBoardFace(){;}
virtual ~CRelayBoardFace(){;}
public:
virtual void ChgFace(AttachUIObject *pUIObject, LPVOID pData)
{
PXIRelayDevResultMiscelInfo *pGlobData= static_cast<PXIRelayDevResultMiscelInfo *>(pData);
if (pUIObject == NULL || pGlobData == NULL)
return ;
//1.删除已存在的头和组成项
while (pUIObject->DeleteColumn (0));
pUIObject->DeleteAllItems();
//2.插入列头
pUIObject->InsertColumn(1, "序号", LVCFMT_CENTER, 50);
pUIObject->InsertColumn(2, "自检项", LVCFMT_LEFT, 380);
pUIObject->InsertColumn(2, "自检结果", LVCFMT_CENTER, 120);
//3.插入子项组成
for (int j=0; j<pGlobData->nActualItemNum; j++)
{
char szFmt[32], szFmt1[64];
::sprintf(szFmt, "%d", j+1);
::sprintf(szFmt1, "%s", pGlobData->sItemObj[j].szHIDItemLabel);
ADD_LISTCTRL_ITEM(pUIObject, szFmt, szFmt1, "N/A") //显示名称
ALTER_LISTCTRL_ITEM_DATA(pUIObject, j+1) //通道号
}
ListView_SetExtendedListViewStyle(pUIObject->GetSafeHwnd(), /*LVS_EX_CHECKBOXES|*/LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
}
//得到通道号
virtual void CollectInfo(AttachUIObject *pUIObject, LPVOID pData) //得到自检的信息结构
{
PXIRelayDevResultMiscelInfo *pGlobData= static_cast<PXIRelayDevResultMiscelInfo *>(pData);
if (pUIObject == NULL || pGlobData == NULL)
return ;
}
//显示自检结果
virtual void ShowInfo(AttachUIObject *pUIObject, LPVOID pData)
{
PXIRelayDevResultMiscelInfo *pGlobData= static_cast<PXIRelayDevResultMiscelInfo *>(pData);
if (pUIObject == NULL || pGlobData == NULL)
return ;
for (int j=0; j<pGlobData->nActualItemNum; j++)
{
ALTER_LISTCTRL_ITEM_Result(pUIObject, j, 2, _GETRESULT(pGlobData->sItemObj[j].bPass))
}
}
//
DECLARE_SELFDESTROY_MAP()
};
/////////////////////////////////////////////////////////////////////////////////////
//继电器板自检的界面
class CDIOBoardFace: public CBitUIImpl
{
public:
CDIOBoardFace(){;}
virtual ~CDIOBoardFace(){;}
public:
virtual void ChgFace(AttachUIObject *pUIObject, LPVOID pData)
{
PXIDIODevResultMiscelInfo *pGlobData= static_cast<PXIDIODevResultMiscelInfo *>(pData);
if (pUIObject == NULL || pGlobData == NULL)
return ;
//1.删除已存在的头和组成项
while (pUIObject->DeleteColumn (0));
pUIObject->DeleteAllItems();
//2.插入列头
pUIObject->InsertColumn(1, "序号", LVCFMT_CENTER, 50);
pUIObject->InsertColumn(2, "自检项", LVCFMT_LEFT, 380);
pUIObject->InsertColumn(2, "自检结果", LVCFMT_CENTER, 120);
//3.插入子项组成
for (int j=0; j<pGlobData->nActualItemNum; j++)
{
char szFmt[32], szFmt1[64];
::sprintf(szFmt, "%d", j+1);
::sprintf(szFmt1, "%s", pGlobData->sItemObj[j].szHIDItemLabel);
ADD_LISTCTRL_ITEM(pUIObject, szFmt, szFmt1, "N/A") //显示名称
ALTER_LISTCTRL_ITEM_DATA(pUIObject, j+1) //通道号
}
ListView_SetExtendedListViewStyle(pUIObject->GetSafeHwnd(), /*LVS_EX_CHECKBOXES|*/LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
}
//得到通道号
virtual void CollectInfo(AttachUIObject *pUIObject, LPVOID pData) //得到自检的信息结构
{
PXIDIODevResultMiscelInfo *pGlobData= static_cast<PXIDIODevResultMiscelInfo *>(pData);
if (pUIObject == NULL || pGlobData == NULL)
return ;
UINT nSelectCount = pUIObject->GetSelectedCount();
if (nSelectCount>0)
return ;
}
//显示自检结果
virtual void ShowInfo(AttachUIObject *pUIObject, LPVOID pData)
{
PXIDIODevResultMiscelInfo *pGlobData= static_cast<PXIDIODevResultMiscelInfo *>(pData);
if (pUIObject == NULL || pGlobData == NULL)
return ;
for (int j=0; j<pGlobData->nActualItemNum; j++)
{
ALTER_LISTCTRL_ITEM_Result(pUIObject, j, 2, _GETRESULT(pGlobData->sItemObj[j].bPass))
}
}
//
DECLARE_SELFDESTROY_MAP()
};
/////////////////////////////////////////////////////////////////////////////////////
//示波器卡自检的界面
class CScopeBoardFace: public CBitUIImpl
{
public:
CScopeBoardFace(){;}
virtual ~CScopeBoardFace(){;}
public:
virtual void ChgFace(AttachUIObject *pUIObject, LPVOID pData)
{
PXIScopeDevResultMiscelInfo *pGlobData= static_cast<PXIScopeDevResultMiscelInfo *>(pData);
if (pUIObject == NULL || pGlobData == NULL)
return ;
//1.删除已存在的头和组成项
while (pUIObject->DeleteColumn (0));
pUIObject->DeleteAllItems();
//2.插入列头
pUIObject->InsertColumn(1, "序号", LVCFMT_CENTER, 50);
pUIObject->InsertColumn(2, "自检项目", LVCFMT_LEFT, 160);
pUIObject->InsertColumn(3, "自检项期望值", LVCFMT_CENTER, 120);
pUIObject->InsertColumn(4, "自检项测量值", LVCFMT_CENTER, 120);
pUIObject->InsertColumn(5, "自检项结果", LVCFMT_CENTER, 100);
//3.插入子项组成
for (int j=0; j<pGlobData->nActualItemNum; j++)
{
char szFmt[32], szFmt1[64], szFmt2[64];
::sprintf(szFmt, "%d", j+1);
::sprintf(szFmt1, "%s", pGlobData->sItemObj[j].szHIDItemLabel);
::sprintf(szFmt2, "%.2f", pGlobData->sItemObj[j].StdVal);
//
ADD_LISTCTRL_ITEM(pUIObject, szFmt, szFmt1, szFmt2)
ALTER_LISTCTRL_ITEM_DATA(pUIObject, j+1)
}
ListView_SetExtendedListViewStyle(pUIObject->GetSafeHwnd(), LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
}
//得到通道号
virtual void CollectInfo(AttachUIObject *pUIObject, LPVOID pData) //得到自检的信息结构
{
UINT nSelectCount = pUIObject->GetSelectedCount();
if (nSelectCount>0)
return ;
}
//显示自检结果
virtual void ShowInfo(AttachUIObject *pUIObject, LPVOID pData)
{
PXIScopeDevResultMiscelInfo *pGlobData= static_cast<PXIScopeDevResultMiscelInfo *>(pData);
if (pUIObject == NULL || pGlobData == NULL)
return ;
char szFmt[32];
for (int j=0; j<pGlobData->nActualItemNum; j++)
{
::sprintf(szFmt, "%.2f", pGlobData->sItemObj[j].sHidItemInfo.MeasVal);
ALTER_LISTCTRL_ITEM_Result(pUIObject, j, 3, szFmt)
ALTER_LISTCTRL_ITEM_Result(pUIObject, j, 4, _GETRESULT(pGlobData->sItemObj[j].bPass))
}
}
//
DECLARE_SELFDESTROY_MAP()
};
/////////////////////////////////////////////////////////////////////////////////////
//DMM自检的界面
class CDMMBoardFace: public CBitUIImpl
{
public:
CDMMBoardFace(){;}
virtual ~CDMMBoardFace(){;}
public:
virtual void ChgFace(AttachUIObject *pUIObject, LPVOID pData)
{
PXIDMMDevResultMiscelInfo *pGlobData= static_cast<PXIDMMDevResultMiscelInfo *>(pData);
if (pUIObject == NULL || pGlobData == NULL)
return ;
//1.删除已存在的头和组成项
while (pUIObject->DeleteColumn (0));
pUIObject->DeleteAllItems();
//2.插入列头
pUIObject->InsertColumn(1, "序号", LVCFMT_CENTER, 50);
pUIObject->InsertColumn(2, "自检内容", LVCFMT_LEFT, 160);
pUIObject->InsertColumn(3, "DMM期望值", LVCFMT_CENTER, 100);
pUIObject->InsertColumn(4, "DMM测量值", LVCFMT_CENTER, 100);
pUIObject->InsertColumn(5, "DMM自检结果", LVCFMT_CENTER, 100);
//3.插入子项组成
for (int j=0; j<pGlobData->nActualItemNum; j++)
{
char szFmt[32], szFmt1[64], szFmt2[64];
::sprintf(szFmt, "%d", j+1);
::sprintf(szFmt1, "%s", pGlobData->sItemObj[j].szHIDItemLabel);
::sprintf(szFmt2, "%.2f", pGlobData->sItemObj[j].StdVal);
//
ADD_LISTCTRL_ITEM(pUIObject, szFmt, szFmt1, szFmt2)
ALTER_LISTCTRL_ITEM_DATA(pUIObject, j+1) //标志
}
ListView_SetExtendedListViewStyle(pUIObject->GetSafeHwnd(), LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
}
//得到通道号
virtual void CollectInfo(AttachUIObject *pUIObject, LPVOID pData) //得到自检的信息结构
{
UINT nSelectCount = pUIObject->GetSelectedCount();
if (nSelectCount>0)
return ;
}
//显示自检结果
virtual void ShowInfo(AttachUIObject *pUIObject, LPVOID pData)
{
PXIDMMDevResultMiscelInfo *pGlobData= static_cast<PXIDMMDevResultMiscelInfo *>(pData);
if (pUIObject == NULL || pGlobData == NULL)
return ;
char szFmt[32];
for (int j=0; j<pGlobData->nActualItemNum; j++)
{
::sprintf(szFmt, "%.2f", pGlobData->sItemObj[j].sHidItemInfo.MeasVal);
ALTER_LISTCTRL_ITEM_Result(pUIObject, j, 3, szFmt)
ALTER_LISTCTRL_ITEM_Result(pUIObject, j, 4, _GETRESULT(pGlobData->sItemObj[j].bPass))
}
}
//
DECLARE_SELFDESTROY_MAP()
};
/////////////////////////////////////////////////////////////////////////////////////
//429自检的界面
class CARINC429BoardFace: public CBitUIImpl
{
public:
CARINC429BoardFace(){;}
virtual ~CARINC429BoardFace(){;}
public:
virtual void ChgFace(AttachUIObject *pUIObject, LPVOID pData)
{
ARINC429ResultMiscelInfo *pGlobData= static_cast<ARINC429ResultMiscelInfo *>(pData);
if (pUIObject == NULL || pGlobData == NULL)
return ;
//1.删除已存在的头和组成项
while (pUIObject->DeleteColumn (0));
pUIObject->DeleteAllItems();
//2.插入列头
pUIObject->InsertColumn(1, "序号", LVCFMT_CENTER, 50);
pUIObject->InsertColumn(2, "429通道号", LVCFMT_LEFT, 140);
pUIObject->InsertColumn(3, "429自检结果", LVCFMT_CENTER, 200);
//3.插入子项组成
for (int j=0; j<pGlobData->nActualChnl; j++)
{
char szFmt[32], szFmt1[32];
::sprintf(szFmt, "%d", j+1);
::sprintf(szFmt1, "CH%d", j+1);
//
ADD_LISTCTRL_ITEM(pUIObject, szFmt, szFmt1, "N/A")
ALTER_LISTCTRL_ITEM_DATA(pUIObject, j+1)
}
ListView_SetExtendedListViewStyle(pUIObject->GetSafeHwnd(), LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES/*|LVS_EX_CHECKBOXES*/);
}
//得到通道号
virtual void CollectInfo(AttachUIObject *pUIObject, LPVOID pData) //得到自检的信息结构
{
UINT nSelectCount = pUIObject->GetSelectedCount();
if (nSelectCount>0)
return ;
}
//显示自检结果
virtual void ShowInfo(AttachUIObject *pUIObject, LPVOID pData)
{
ARINC429ResultMiscelInfo *pGlobData= static_cast<ARINC429ResultMiscelInfo *>(pData);
if (pUIObject == NULL || pGlobData == NULL)
return ;
for (int j=0; j<pGlobData->nActualChnl; j++)
{
ALTER_LISTCTRL_ITEM_Result(pUIObject, j, 2, _GETRESULT(pGlobData->ChnlResult[j]))
}
}
//
DECLARE_SELFDESTROY_MAP()
};
/**************************PXI模块状态自检功能************************/
class CBoardStatusCmd: public CBitCmdImpl
{
public:
CBoardStatusCmd(){;}
virtual ~CBoardStatusCmd(){;}
private:
BOOL SelfTest(ULONG hHandle)
{
int vStatus = 0;
short bSelfTest = 0;
char selfTestMessage[256];
vStatus = niSwitch_self_test(hHandle/*AirStutNSP::g_sRelay2575DevInfo.hHandle*/, &bSelfTest, selfTestMessage);
//
return (vStatus == 0) && bSelfTest;
}
protected:
virtual BOOL ModularBoard(LPVOID pData)
{
PXIDeviceResultMiscelInfo *pDevInfo = static_cast<PXIDeviceResultMiscelInfo *>(pData);
if (pDevInfo == NULL)
return FALSE;
g_bBoardStatusNext = TRUE; //测试完所有模块时
//调用驱动开始测试
pDevInfo->sLastDeviceObj[0].bBitPass = NMDriver_Scope::_Scope_GetSelf(); //示波器
pDevInfo->sLastDeviceObj[1].bBitPass = NMDriver_DMM::_DMM_GetSelf(); //DMM
pDevInfo->sLastDeviceObj[2].bBitPass = NMDriver_AR429::_ARINC429_GetSelf(); //429
pDevInfo->sLastDeviceObj[3].bBitPass = NMDriver_75SD::_75SD_GetSelf(); //75SD
pDevInfo->sLastDeviceObj[4].bBitPass = this->SelfTest(AirStutNSP::g_sRelay2527DevInfo.hHandle); //2575
pDevInfo->sLastDeviceObj[5].bBitPass = this->SelfTest(AirStutNSP::g_sRelay2565DevInfo.hHandle); //2565
pDevInfo->sLastDeviceObj[6].bBitPass = this->SelfTest(AirStutNSP::g_sRelay2527DevInfo.hHandle); //2527
pDevInfo->sLastDeviceObj[7].bBitPass = TRUE; //6508
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -