• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Вопрос про Timage.

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

jeckp

Добрый день.

Я пытаюсь сделать, чтото вроде окна сообщений с дополнительными наворотами. И Хочу, разместить в окне картинку, которая бы изменялась в зависимости от типа окна.
Для этого я использую

Image1: TImage;
ImageList1: TImageList;

В ImageList1 я загонал весь нужный мне набор картинок. Прорисовываю я их с помощью

ImageList1.GetBitmap( N ,Image1.Picture.Bitmap);

Но наступил на грабли. Первая картинка никуда не девается. Все последующие рисуются сверху на первой, в той части, котрая не явлалась фоном для первой.
Я помучился с рефрешами и другими методами - не помогло.
В связи с этим вопросы.

1. Я вообще правильной дорогой иду?
2. Как побороть это явление?
3. Где можно качнуть документацию (на русском :( ) с описанием методов и свойств всех стандарнтных компонент для Delphi 7?
 
G

Guest

3. Где можно качнуть документацию (на русском ) с описанием методов и свойств всех стандарнтных компонент для Delphi 7?

Для 7 не знаю, но могу предложить для 6. Не скажу, что там все супер, но давольнотаки интерестно. Хотя я думаю серьезных отличий между 6 и 7 версиями нет. Так, что если надо пришли свое мыло.
 
A

AnCC

Первая картинка никуда не девается. Все последующие рисуются сверху на первой, в той части, котрая не явлалась фоном для первой.
Так она никуда и не должна подеваться. Попробуйте поставить Transparent = false
 
C

Coldfate

Всё тут нормально, но Transparent=false не поможет. Попробуй это:
Код:
Image1.Canvas.Refresh
Или это:
Код:
w := image1.picture.bitmap.width;
Image1.Picture.Bitmap.Width := 0;
Image1.Picture.Bitmap.Width := w;
Или вот это:
Код:
image1.Picture.Bitmap := TBitmap.Create;
В-общем, выбирай на вкус.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!