#pragma once // 输出双击图像时的脱靶量 // flag = 0: 脱靶量 // flag = 1: 对话框坐标 typedef void (CALLBACK* SendPixXYOffsetProc)(CPoint xy, int flag); // 输出双击点与对话框中点的夹角 typedef void (CALLBACK* SendAngleProc)(double angle); // 当鼠标按下时,输出鼠标点与对话框中心点的距离比例系数和角度 typedef void (CALLBACK* SendDistRatioAndAngleProc)(double distRatio, double angle); // 通知简单图像显示对话框被左键双击 typedef void (CALLBACK* SendLButtonDblClkInfoProc)(); // 通知简单图像显示对话框被右键按下 1:Ctrl typedef void (CALLBACK* SendButtonDownInfoProc)(int type); // 声明 图像显示对话框类 class CSimpleImgShowDlg; class AFX_CLASS_EXPORT CExportSimpleImgShow: public CObject { public: CExportSimpleImgShow(void); ~CExportSimpleImgShow(void); public: /************************************************************************/ /* part 1:窗口创建、销毁、图像显示、标注等 */ /************************************************************************/ // 1 功能:创建视频显示窗口 // 输入: // 1. hParentWnd: 父窗口句柄 // // 输出:创建成功返回TRUE,否则返回FALSE BOOL CreateWnd(const HWND hParentWnd); // 2 功能:移动(设置)窗口(整个视频显示窗口)至指定位置 // 输入: // 1. clientRect:移动至该区域 // // 输出:无 void MoveWnd(const CRect &clientRect); // 3 功能:显示SW_SHOW 或隐藏 SW_HIDE 窗口 // 输入: // 1. nCmdShow:SW_SHOW 或 SW_HIDE // // 输出:无 void ShowWnd(const int nCmdShow); // 4 功能:显示一帧图像 // 输入: // 1. pImgInfo:图像信息头 // 2. pImgData:图像数据指针 // // 输出:显示成功返回TRUE,否则返回FALSE BOOL ShowImage(const BITMAPINFO* pImgInfo, BYTE* pImgData); // 5 功能:删除视频显示窗口,同时释放所有占用资源 // 输入:无 // // 输出:无 void DestroyWnd(); // 6 功能:设置回调函数 // 输入: // 1. fun 函数指针 // // 输出:无 void SetCallBackFun(SendPixXYOffsetProc fun); // 7 功能:设置回调函数 // 输入: // 1. fun 函数指针 // // 输出:无 void SetCallBackFun(SendAngleProc fun); // 8 功能:设置回调函数 // 输入: // 1. fun 函数指针 // // 输出:无 void SetCallBackFun(SendDistRatioAndAngleProc fun); // 9 功能:设置回调函数 // 输入: // 1. fun 函数指针 // // 输出:无 void SetCallBackFun(SendLButtonDblClkInfoProc fun); // 10 功能:设置是否显著标记对话框 // 输入: // 1. bMark: 是否标记 // 2. bEnhance: 增强该功能 // // 输出:无 void MarkDialog(bool bMark, bool bEnhance = false); // 11 功能:设置回调函数 // 输入: // 1. fun 函数指针 // // 输出:无 void SetCallBackFun(SendButtonDownInfoProc fun); // 12 功能:获取当前显示图像 // 输入: // 无 // 输出: // 1:imgWidth 图像宽 // 2:imgHeight 图像高 // 3:bitCount 图像位数 // 4:pImgData 图像数据指针 // 返回值: // 成功返回true,失败返回false bool GetCurrentImg(int &imgWidth, int &imgHeight, int& bitCount, unsigned char* &pImgData); // 13 功能:设置空屏文字 // 输入: // 1. str 主题文字 // 输出: // 无 // 返回值: // 无 void SetThemeText(CString str); // 13 功能:关闭右键菜单 void CloseRightBtnDownMenu(bool bClose = true); // 14 功能:清空显示 void ClearImg(); private: CSimpleImgShowDlg* m_ShowDlg; // MFC 对话框 };