Компонент Imagelist (winapi)

Тема в разделе "Общие вопросы по С и С++", создана пользователем alekssgor, 23 июн 2010.

  1. alekssgor

    alekssgor Well-Known Member

    Регистрация:
    26 май 2008
    Сообщения:
    118
    Симпатии:
    0
    Как сделать прозрачный фон на изображение в ImageList???
    Код (Text):
    #define CX_BITMAP 16
    #define CY_BITMAP 16
    #define NUM_BITMAPS 3

    int g_nOpen;//индекс 1 изображения
    int g_nClosed;//индекс 2 изображения
    int g_nDocument;;//индекс 3 изображения
    BOOL InitTreeViewImageLists(HWND hwndTV)
    {
    HIMAGELIST himl;
    HBITMAP hbmp;    

    if ((himl = ImageList_Create(CX_BITMAP,
    CY_BITMAP,
    ILC_MASK,
    NUM_BITMAPS, 0)) == NULL)
    return FALSE;

    hbmp = (HBITMAP)LoadImage(NULL,"fldropen.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
    g_nOpen = ImageList_Add(himl, hbmp, (HBITMAP)NULL);
    DeleteObject(hbmp);

    hbmp = (HBITMAP)LoadImage(NULL,"fileclos.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
    g_nClosed = ImageList_Add(himl, hbmp, (HBITMAP)NULL);
    DeleteObject(hbmp);

    hbmp = (HBITMAP)LoadImage(NULL,"fldrshut.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
    g_nDocument = ImageList_Add(himl, hbmp, (HBITMAP)NULL);
    DeleteObject(hbmp);

    if (ImageList_GetImageCount(himl) < 3)
    return FALSE;


    TreeView_SetImageList(hwndTV, himl, TVSIL_NORMAL);

    return TRUE;
    }
     
  2. grigsoft

    grigsoft Well-Known Member

    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    ImageList_AddMasked может поможет
     
  3. alekssgor

    alekssgor Well-Known Member

    Регистрация:
    26 май 2008
    Сообщения:
    118
    Симпатии:
    0
    Вызываю g_nOpen = ImageList_AddMasked(himl, hbmp, RGB(255,255,255));
    вместо g_nOpen = ImageList_Add(himl, hbmp, (HBITMAP)NULL); Всё тоже самое фон не изменяется
     
Загрузка...

Поделиться этой страницей