Програмное создание изображеней для List Control

  • Автор темы TT.
  • Дата начала
Статус
Закрыто для дальнейших ответов.
T

TT.

Как програмно создать изображения Icon или CBitmap и подключить их к List Ctrl?

Мне надо квадратики с контуром, толщина контура 2, размер изображения 32х32 24 бит.

Можно ли рисовать используя CDC?
Если использовать битовую маску можно ли создать иконку 24 бит, если можно то как?
 
S

sdriver

На onCreate ListCtrl создай CImageList и через метод Add добавляешь свой битмап.
Можно ли рисовать используя CDC? Можно.
Если использовать битовую маску можно ли создать иконку 24 бит, если можно то как?


Функция CreateIcon.
Функция CreateIcon создаёт иконку, которая имеет указанный размер, цвета и битовую палитру.

HICON CreateIcon(
HINSTANCE hInstance,
int nWidth,
int nHeight,
BYTE cPlanes,
BYTE cBitsPixel,
const BYTE* lpbANDbits,
const BYTE* lpbXORbits
);
Параметры

hInstance
Дескриптор экземпляра модуля, создающего иконку.
nWidth
Ширина иконки в пикселях.
nHeight
Высота иконки в пикселях.
cPlanes
Количество слоёв в битовой маске XOR иконки.
cBitsPixel
Количество бит на пиксель в битовой маске XOR иконки.
lpbANDbits
Указатель на массив байт, который содержит битовые значения для битовой маски AND иконки. Эта битовая маска описывает чёрно-белую иконку.
lpbXORbits
Указатель на массив байт, который содержит битовые значения для битовой маски XOR иконки. Эта битовая маска описывает чёрно-белый или устройство-зависимый битмап.
Возвращаемое значение

В случае успеха, функция возратит дескриптор иконки.

В случае ошибки, функция вернёт NULL. Для получения более подробной информации о ошибке, можно воспользоваться функцией GetLastError.
 
G

grigsoft

CListCtrl::GetDC, CreateCompatibleBitmap, dc->SelectObject(bitmap), MyPaintIcon(dc), CImageList::Create(bitmap), ListCtrl::SetImageList.

Примерно так.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!