![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Нужно вывести на форму рисунок из 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]Где именно Вы это пишете?