// WcsMainDialog.cpp : 实现文件 // #include "stdafx.h" #include "afxdialogex.h" #include "Fast.h" #include "FastMainDialog.h" // CMainDialog 对话框 IMPLEMENT_DYNAMIC(CFastMainDialog, CDialogEx) CFastMainDialog::CFastMainDialog(CWnd* pParent /*=NULL*/) : CDialogEx(IDD_FAST_MAIN_DIALOG, pParent) { } CFastMainDialog::~CFastMainDialog() { } void CFastMainDialog::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); DDX_Control(pDX, IDC_STATIC_FAST1, m_FastCam[0]); DDX_Control(pDX, IDC_STATIC_FAST2, m_FastCam[1]); DDX_Control(pDX, IDC_STATIC_FAST3, m_FastCam[2]); DDX_Control(pDX, IDC_STATIC_FAST4, m_FastCam[3]); } BEGIN_MESSAGE_MAP(CFastMainDialog, CDialogEx) ON_WM_TIMER() END_MESSAGE_MAP() // CMainDialog 消息处理程序 //和模块进程通讯的管道回调函数: void g_PipeCallBack(void* pObj, int lMsgId, WPARAM wparam, LPARAM lparam) { CFastMainDialog* pModule = (CFastMainDialog*)pObj; if (CEXPIPE_CONNECT_OK == lMsgId) { //连接成功 //if (FALSE == pModule->PostMessage(WM_PLATFORM_CONNECT_OK, NULL, NULL)) { LogOutToFile("g_PipeCallBack PostMessage error[%d]", lMsgId); } LogOutToFile("已连接父进程管道"); //向WMS服务器请求设备配置信息 theApp.SendMsg2Platform("WMS", DEVICE_CONFIG_REQ, NULL); } else if (CEXPIPE_DIS_CLIENT == lMsgId) { //管道断开,结束 #ifndef _DEBUG LogOutToFile("父进程连接管道断开,本模块自动退出"); //if (FALSE == pModule->PostMessage(WM_CLOSE, NULL, NULL)) { LogOutToFile("g_PipeCallBack PostMessage error[%d]", lMsgId); } pModule->PostMessage(WM_COMMAND, MAKEWPARAM(ID_TRAY_EXIT, 0), 0); #endif } else if (CEXPIPE_NEW_DATA == lMsgId) { pModule->ProcessPipeMsg(lMsgId, (char*)wparam, (int)lparam); } else { ; } } void CFastMainDialog::ProcessPipeMsg(int lMsgId, char* pData, int lLen) { if (lLen == 0) { return; } PIPE_DATA_STRUCT* pstData = (PIPE_DATA_STRUCT*)pData; //平台转发给插件的消息 if (pstData->lMsgId == MAIN_2_MODULE_WMS && pstData->lDataLen > 0) { Json::Reader reader; Json::Value root; if (reader.parse((char*)pstData->acData, root)) { CString strReceiver = root["receiver"].asString().c_str(); CString strSender = root["sender"].asString().c_str(); int nMsgType = root["type"].asInt(); //获取设备配置信息返回 /*if (nMsgType == DEVICE_CONFIG_RET) { } else if (nMsgType == SET_TRANS_MODE_REQ && m_bDeviceInit) //设置输送线的工作模式 { } else if (nMsgType == GET_TRANS_STATE_REQ)//请求获取输送线状态 { }*/ } } else if (pstData->lMsgId == MAIN_2_MODULE_SHOWWINDOW) { //PostMessage(WM_COMMAND, MAKEWPARAM(ID_TRAY_SHOW, 0), 0); AfxGetApp()->m_pMainWnd->ShowWindow(SW_SHOWNORMAL); SetForegroundWindow(); } LogOutToFile("HttpServiceListener::OnRecvRequest End"); } BOOL CFastMainDialog::OnInitDialog() { CDialogEx::OnInitDialog(); theApp.m_hMainWnd = m_hWnd; //SetTimer(1, 500, NULL); //初始化本地相机 InitLocalCamera(); return TRUE; // return TRUE unless you set the focus to a control // 异常: OCX 属性页应返回 FALSE } BOOL CFastMainDialog::PreTranslateMessage(MSG* pMsg) { if (pMsg->message == WM_KEYDOWN&&pMsg->wParam == VK_RETURN) return TRUE; if (pMsg->message == WM_KEYDOWN&&pMsg->wParam == VK_ESCAPE) return TRUE; return CDialog::PreTranslateMessage(pMsg); } void CFastMainDialog::OnTimer(UINT_PTR nIDEvent) { // TODO: 在此添加消息处理程序代码和/或调用默认值 CDialogEx::OnTimer(nIDEvent); } void CFastMainDialog::InitLocalCamera() { m_FastCam[0].SetCameraInfo(0, HIK_RGBD, SNAP_PICTURE); m_FastCam[1].SetCameraInfo(1, DAHUA_FISHEYE, SNAP_PICTURE, "192.168.0.124", 37777); m_FastCam[2].SetCameraInfo(2, DAHUA_FISHEYE, RT_STREAMING, "192.168.0.124", 37777); } /* void CFastMainDialog::InitCamereSDK() { MV3D_RGBD_VERSION_INFO stVersion; MV3D_RGBD_GetSDKVersion(&stVersion); MV3D_RGBD_Initialize(); int ret = MV3D_RGBD_Initialize(); unsigned int nDevNum = 0; ret = MV3D_RGBD_GetDeviceNumber(DeviceType_USB, &nDevNum); if (0 == nDevNum) { //AfxMessageBox("未检测到相机,请检查相机连接是否正常."); return ; } MV3D_RGBD_DEVICE_INFO info; for (int i = 0; i < nDevNum; i++) { m_CameraDev.push_back(info); } ret = MV3D_RGBD_GetDeviceList(DeviceType_USB, &m_CameraDev[0], nDevNum, &nDevNum); } */