• 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类库是一个优秀的图像操作类库。它可以快捷地存取、显示、转换各种图像。功能强大齐全。

  • 相关阅读:
    Redis学习——数据结构下
    CI 笔记7,easyui 异步加载
    CI 笔记,借鉴的4个辅助自定义函数
    CI笔记6 json 传值
    CI 笔记,使用 json的参考文档(废弃)
    CI 笔记5 (CI3.0 默认控制器,多目录)
    CI 笔记(easyui js命令)
    CI 笔记4 (easyui 手风琴)
    CI 笔记3 (easyui 的layout布局,最小化layout原型)
    CI 笔记3 (easyui 和 js 排错)
  • 原文地址:https://www.cnblogs.com/flysnail/p/2955684.html
Copyright © 2020-2023  润新知