Paul Belikian Ответов: 3

Объединить cimagelists в новый?


Привет,

Может ли кто-нибудь привести мне пример того, как объединить 2 CImageList в другой CImageList, в результате чего получится CImageList, содержащий все изображения?

Один список CImageList содержит значки системной оболочки, а другой-изображения, загруженные локально из приложения. В конечном счете, мне нужно заполнить CTreeCtrl смесью изображений из обоих списков.

Любая помощь будет оценена по достоинству.

Спасибо,
Пол

Что я уже пробовал:

Я пробовал использовать функцию Create, которая принимает два списка изображений в качестве параметров, но просто накладывает изображения друг на друга, а не "складывает" их вместе.

KarstenK

Вы просили об этом Google? :-О

3 Ответов

Рейтинг:
21

Richard MacCutchan

Используйте Класс CImageList | Microsoft Docs[^] Метод Add() для объединения списков.


Maciej Los

5ed!

Рейтинг:
0

Paul Belikian

Привет, спасибо за предложение.

Я действительно нашел эту статью в своих поисках. Проблема в том, что список системных образов содержит 174 или около того значков, и зацикливание этого кода для получения каждого изображения в виде растрового изображения не кажется лучшей идеей - хотя мне, возможно, придется сделать это именно так.

Спасибо!


Рейтинг:
0

Paul Belikian

Thanks for responding but as far as I can tell the Add member doesn't add ImageLists, it adds bitmaps and Icons...

<pre>int Add(
    CBitmap* pbmImage,
    CBitmap* pbmMask);

int Add(
    CBitmap* pbmImage,
    COLORREF crMask);

int Add(HICON hIcon);


Это сработало бы, если бы я мог извлечь растровое изображение из CImageList.

Еще раз спасибо!


jeron1

Может быть, эта статья может помочь?
Извлечение отдельных изображений из объекта CImageList[^]