Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Нужно вывести на форму рисунок из ImageList. [D6, Win2k]


Mishenka ©   (2004-11-12 14:46:00) 

Нужно вывести на форму рисунок из ImageList.
Пишу :

ImageList1.Draw(Form1.Canvas, 0, 0, 0);

Но ничего не рисуется. В чём тут дело?


Юрий Зотов   (2004-11-12 15:54:00) [1]

> Mishenka   (12.11.04 15:47) [5]

1. В ImageList картинка есть?
2. На форме могут быть оконные компоненты, которые закроют картинку.


Ega23   (2004-11-12 15:52:00) [2]

А есть ли Image в нулевом индексе? А какой он ширины-высоты?
А  чему DrawingStyle равен?


Mishenka   (2004-11-12 15:47:00) [3]

Переставил в OnPaint, а всё равно ничего не видно :(((


Юрий Зотов   (2004-11-12 15:00:00) [4]

> Mishenka   (12.11.04 14:51) [2]

В OnShow форма еще невидима. После того, как Вы что-то на ней "нарисовали", она становится видимой и начинает РЕАЛЬНО прорисовываться на экране. И при этом она понятия не имеет, что должна отрисовать что-то там нестандартное. Потому и не рисует.

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

Вывод - Вашу картинку надо рисовать при КАЖДОЙ перерисовке формы. Для этого у нее есть событие OnPaint.


Ega23   (2004-11-12 14:56:00) [5]

OnPaint ?


Mishenka   (2004-11-12 14:51:00) [6]

В OnShow у Form1.


Юрий Зотов   (2004-11-12 14:48:00) [7]

Где именно Вы это пишете?


Наверх

Титульная страница Поиск, карта сайта Написать письмо