1. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

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

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

  1. alekssgor

    alekssgor Well-Known Member

    Репутация:
    0
    Регистрация:
    26 май 2008
    Сообщения:
    118
    Симпатии:
    0
    Как сделать прозрачный фон на изображение в ImageList???
    Код:
    #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

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

    alekssgor Well-Known Member

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

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