• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Вопрос про Timage.

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

jeckp

Добрый день.

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

Image1: TImage;
ImageList1: TImageList;

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

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

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

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

Для 7 не знаю, но могу предложить для 6. Не скажу, что там все супер, но давольнотаки интерестно. Хотя я думаю серьезных отличий между 6 и 7 версиями нет. Так, что если надо пришли свое мыло.
 
Первая картинка никуда не девается. Все последующие рисуются сверху на первой, в той части, котрая не явлалась фоном для первой.
Так она никуда и не должна подеваться. Попробуйте поставить Transparent = false
 
Всё тут нормально, но 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;
В-общем, выбирай на вкус.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab