zoukankan      html  css  js  c++  java
  • MFC的PictureControl控件上展示Halcon的窗体

    自定义函数:id是MFC窗体上的PictureControl控件的ID,此函数返回halcon的HTuple类型。

    HTuple initPicControl(int id);

    HTuple CHalconMFC1219Dlg::initPicControl(int id)//初始化halcon窗体控件到pictureControl控件上
    {
        HTuple hWindow;
        CRect Rect;
        HWND hWnd = GetDlgItem(id)->GetSafeHwnd();//获取控件句柄
        ::GetWindowRect(hWnd, &Rect);//获取控件大小
        OpenWindow(0, 0, Rect.Width(), Rect.Height(), (Hlong)hWnd, "visible", "", &hWindow);
    
        return hWindow;
    }

    使用方法:以CHalconMFC1219Dlg工程为例

    1、复制粘贴上述代码到CHalconMFC1219Dlg.cpp中,作为类的成员函数。在头文件里添加一行代码

    HTuple hWindow;

    2、在OnInitDialog()函数中调用此函数。

    BOOL CHalconMFC1219Dlg::OnInitDialog()
    {
        CDialogEx::OnInitDialog();
    
        // 设置此对话框的图标。  当应用程序主窗口不是对话框时,框架将自动
        //  执行此操作
        SetIcon(m_hIcon, TRUE);            // 设置大图标
        SetIcon(m_hIcon, FALSE);        // 设置小图标
    
        // TODO:  在此添加额外的初始化代码
        hWindow=initPicControl(IDC_PictureControl);
    
        return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE
    }

     按钮事件函数

    HImage Mandrill("monkey"); 
    Hlong width, height; 
    Mandrill.GetImageSize(&width, &height); 
    SetPart(hWindow,0,0,height-1,width-1); //图片适应窗体
    DispObj(Mandrill,hWindow); //显示在hWindow上
  • 相关阅读:
    洛谷 P1653 猴子 解题报告
    洛谷 P2024 [NOI2001]食物链 解题报告
    洛谷 P1966 火柴排队 解题报告
    洛谷 P1311 选择客栈 解题报告
    洛谷 P3959 宝藏 解题报告
    二进制枚举子集技巧
    洛谷 P1841 [JSOI2007]重要的城市 解题报告
    洛谷 P2324 [SCOI2005]骑士精神 解题报告
    vector-size
    ubuntu 更换软件源
  • 原文地址:https://www.cnblogs.com/xixixing/p/12068352.html
Copyright © 2011-2022 走看看