Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по OWNERDRAW для CImageList. 
:(
    Опции темы
AndreySol
Дата 5.5.2005, 06:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 772
Регистрация: 19.6.2004

Репутация: 1
Всего: 1



ОС - WinMe.
Компилятор - MSVC++ 6.0 + SP5.
Дайте кто знает хороший пример OWNERDRAW для CImageList.
PM MAIL   Вверх
Step
Дата 5.5.2005, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 2
Всего: 25



AndreySol, я туплю или вы что то напутали...

CImageList - это хранилище производное от CObject

а OWNERDRAW применимо только к производным от внд


а вот если вы хотите что бы CImageList отрисовку производил по вашиим правилам
то сделайте от него производный
и перегрузите необходимые функции отрисовки..


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
AndreySol
Дата 10.5.2005, 06:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 772
Регистрация: 19.6.2004

Репутация: 1
Всего: 1



Ну значит я неправильно сформулировал, но меня интересовало как работать с ф-циями:
Код

Draw
DrawEx
DrawIndirect

То есть примерчик хороший, как самому рисовать список изображений.
PM MAIL   Вверх
Nastya
Дата 10.5.2005, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 27.3.2002
Где: Мариуполь

Репутация: 1
Всего: 44



А в чем проблема?
1. Создаешь объект CImageList
2. вызываешь метод Create
3. Если в криате не заполнил его картинками, то заполняешь через Add
4. Когда нужно вывести картинку вызываешь указанные тобой методы.

Вот пример из MSDN
Код

// The pointer to my image list.
extern CImageList* pmyImageList;
// The position of where to draw the image.
extern CPoint myPoint;
// The DC to draw the image on.
extern CDC* pmyDC;

// Add a new image to the image list.
int nIndex = pmyImageList->Add(AfxGetApp()->LoadStandardIcon(IDI_QUESTION));

if (nIndex != -1)
{
   // Make the new image an overlay image.
   pmyImageList->SetOverlayImage(nIndex, 1);
   
   // Draw the first image in the image list with an overlay image.
   pmyImageList->Draw(pmyDC, 0, myPoint, INDEXTOOVERLAYMASK(1));
}


А лучше почитай Мешкова, там усЁ подробно расписано smile


--------------------
Что бы понять рекурсию, надо понять рекурсию

"Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор
PM MAIL   Вверх
AndreySol
Дата 11.5.2005, 06:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 772
Регистрация: 19.6.2004

Репутация: 1
Всего: 1



Ну так и дайте ссылочки на всяких Мешковых, я об том и просил.
PM MAIL   Вверх
Nastya
Дата 13.5.2005, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 27.3.2002
Где: Мариуполь

Репутация: 1
Всего: 44



ССылочек не имею, у меня в бумажном виде и когда-то был жутко отсканеный pdf
Но в форуме помоему ссылка была
А. Мешков, Ю. Техомиров, "Visual C++ и MFC"


--------------------
Что бы понять рекурсию, надо понять рекурсию

"Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор
PM MAIL   Вверх
AndreySol
Дата 18.5.2005, 06:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 772
Регистрация: 19.6.2004

Репутация: 1
Всего: 1



Понял, поищу.
Насчет примера из MSDN - пробовал я, да что-то толку нет, похоже проблемы с CDC. Делал так: в обработчике начала перемещения получаю контекст рисования (использовал CClientDC), в обработчике перемещения мыши пробовал рисовать по этому контексту - но нет толку.
Может реальный примерчик кто подкинет ?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0458 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.