Как я могу вставить растровое изображение или другие объекты изображения в CListCtrl в MFC? - PullRequest
0 голосов
/ 23 октября 2008

Я хочу перечислить миниатюры набора фотографий в listctrl. Но единственный способ добиться этого - использовать метод setImageList для привязки списка изображений к объекту CListCtrl и вставки таких элементов: InsertItem (int nItem, LPCTSTR lpszitem, int nImage). Я также должен изменить стиль listctrl с помощью ModifyStyle (LVS_TYPEMASK, LVS_ICON), чтобы заставить его отображать значок каждого элемента.

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

Большое спасибо!

Ответы [ 2 ]

2 голосов
/ 23 октября 2008

Почему вы думаете, что это не очень хороший подход? Другие ваши варианты - сделать его собственноручным элементом управления и визуализировать изображения самостоятельно, или использовать обратный вызов для изображений через CListCtrl :: SetCallbackMask.

Элементы управления списком используют списки изображений по причине; битовые карты хранятся таким образом, который наиболее эффективен для отображения элемента управления списком. Вам было бы очень трудно сделать это лучше.

1 голос
/ 23 октября 2008

Учитывая, что вам нужны такие расширенные функции, звучит так, будто вы должны использовать владелец. Хороший пример - здесь . Он не показывает, как рисовать изображение, но как только вы настроите процедуру рисования владельцем, вы сможете использовать типичные битовые биты для рисования изображений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...