同上,我目前是用CDC的BitBlt来画的, 我想显示32*32以下的图片,用CImageList::Draw应该会比CDC::BitBlt速度快些吧(个人想法)

解决方案 »

  1.   

    CDC dcMemory;
    ImageList.Draw(&dcMemory, nImageIdx, CPoint(0,0), ILD_NORMAL);  //正常图标
    #define ILD_NORMAL              0x00000000
    #define ILD_TRANSPARENT         0x00000001
    #define ILD_MASK                0x00000010
    #define ILD_IMAGE               0x00000020
    #if (_WIN32_IE >= 0x0300)
    #define ILD_ROP                 0x00000040
    #endif
    #define ILD_BLEND25             0x00000002
    #define ILD_BLEND50             0x00000004
    #define ILD_OVERLAYMASK         0x00000F00
    #define INDEXTOOVERLAYMASK(i)   ((i) << 8)
    #define ILD_PRESERVEALPHA       0x00001000  // This preserves the alpha channel in dest
    #define ILD_SCALE               0x00002000  // Causes the image to be scaled to cx, cy instead of clipped
    #define ILD_DPISCALE            0x00004000#define ILD_SELECTED            ILD_BLEND50
    #define ILD_FOCUS               ILD_BLEND25
    #define ILD_BLEND               ILD_BLEND50