• MFC的picture控件 静态加载与动态加载


    静态加载

    001:新建对话框工程,加入picture控件,修改属性 把picture控件中的type设置为bitmap类型 , 关联变量为m_Bmp(类型为control),

    002:双击按钮,在消息处理函数中添加

    HBITMAP hBitmap; 
    hBitmap = ::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP1)); 
    m_Bmp.SetBitmap(hBitmap);                 /***IDB_BITMAP1是你载入资源中位图的ID号***/

    动态加载

    动态载入就是不用事先把位图导入资源,直接在程序运行的时候,弹出一个文件选择对话框,选择你想要显示的对话框即可。此列中依旧要把picture控件中的type设置为bitmap类型,否则会出现图片显示不出来的问题。

    和以上静态显示唯一的区别只体现在按钮的消息处理函数中,此列中的消息处理函数内容为

    CString m_strfile; /***你在文件选择对话框中选中的文件名***/ 
    CRect r; 
    GetClientRect(&r); 
        CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, 
       "Bmp files(*.bmp)|*.bmp|",NULL); 
        if(dlg.DoModal ()) 

       m_strfile=dlg.GetPathName (); 

    HBITMAP hbitmap=(HBITMAP)LoadImage(AfxGetInstanceHandle(), 
               m_strfile, 
               IMAGE_BITMAP, 
               r.Width()/2, 
               r.Height()/2, 
               LR_LOADFROMFILE);    
    m_Bmp.SetBitmap(hbitmap);

    总结:图片的显示处理可以使用CxImage库。

    CxImage类库是一个优秀的图像操作类库。它可以快捷地存取、显示、转换各种图像。功能强大齐全。

  • 相关阅读:
    python——numpy (二)
    python——numpy(一)
    python——matplotlib
    redis
    图片验证码识别技术——Tesseraact
    Linux 环境变量PROMPT_COMMAND
    maven项目管理工具
    Log4J日志组件
    java中的泛型,注解
    数据库备份还原
  • 原文地址:https://www.cnblogs.com/flysnail/p/2955684.html
Copyright © 2020-2023  润新知