各位高手,我在程序中如何实现动态打开位图?就象打开一般的数据文件一样?因为我要编一个计算电路的程序,而且可以实现调入电路图。

解决方案 »

  1.   

    哪位大侠能不能说具体点?小弟不太会用LoadImage
      

  2.   

    函数原型:
    HANDLE LoadImage(
      HINSTANCE hinst,   // 模块句柄
      LPCTSTR lpszName,  // image在模块中的标识
      UINT uType,        // 类型
      int cxDesired,     // 宽度
      int cyDesired,     // 高
      UINT fuLoad        // 可以是以下的值:
                         //  LR_VGACOLOR,LR_SHARED,LR_MONOCHROME,
                         //  LR_LOADTRANSPARENT,LR_LOADMAP3DCOLORS,
                         //  LR_LOADFROMFILE,LR_DEFAULTSIZE,
                         //  LR_CREATEDIBSECTION,LR_DEFAULTCOLOR
    );
      

  3.   

    步骤:
    1先读一下BMP文件头信息
    2读出当前调色板的信息
    3读数据区
    4开辟内存,然后锁定内存,将数据读取出来
    具体代码可在MSDN中查找BITMAP类的使用方法!
      

  4.   

    你可以先用CFileDialog或得该位图文件的路径并保存到一个字串中...
    然后用LoadImage加载进来...HANDLE LoadImage(
      HINSTANCE hinst,   // handle to instance
      LPCTSTR lpszName,  // 这里填上路径...
      UINT uType,        /* 图像的类型
    IMAGE_BITMAP 位图(.bmp) 
    IMAGE_CURSOR 光标(.cur) 
    IMAGE_ICON 图标(.ico)*/  int cxDesired,     // 图象width    可以指定为0...然后在options中指定LR_DEFAULTSIZE标志...
      int cyDesired,     // 图象height  同上
      UINT fuLoad        // load options    如果是从文件加装必须加上LR_LOADFROMFILE标志
    );
      

  5.   

    请dbmao把成功的代码贴出来,大家学习一下可好?:)我可以开帖给分阿,谢谢!!