• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

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

TT.

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

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

Можно ли рисовать используя CDC?
Если использовать битовую маску можно ли создать иконку 24 бит, если можно то как?
 
На 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.
 
CListCtrl::GetDC, CreateCompatibleBitmap, dc->SelectObject(bitmap), MyPaintIcon(dc), CImageList::Create(bitmap), ListCtrl::SetImageList.

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

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab