Форум: "Начинающим";
Текущий архив: 2006.04.16;
Скачать: [xml.tar.bz2];
Внизне назначена картинка в TImage Найти похожие ветки
← →
creative (2006-03-31 13:10) [0]есть компонент TImage в который при нажатии кнопки загружается картинка из файла.
Вопрос простой: как сформулировать условие "если картинка в TImage не была загружена"?
← →
Ega23 © (2006-03-31 13:21) [1]if not Assigned(Image1.Picture)?
← →
Creative (2006-03-31 13:29) [2]не подходит. отладчик пишет, что assigned
← →
Ega23 © (2006-03-31 13:32) [3]Тогда Image1.Picture.Bitmap
← →
Плохиш © (2006-03-31 13:34) [4]Image1.Picture.Bitmap.Empty
← →
Creative (2006-03-31 13:36) [5]Перефразирую вопрос: какая операция должня предшествовать такой проверке? Если я делаю TImage.Picture.Free или TImage.Picture.Bitmap.Free - программа вылетает. А если не делать ничего - программа конечо думает, что в TImage всегда что то назначено
← →
Johnmen © (2006-03-31 13:41) [6]Уже сказали. Поправка
Image1.Picture.Graphic.Empty
← →
Creative (2006-03-31 13:42) [7]На всякий случай объясняю, что мне нужно: у меня есть форма, в которой создаются оъекты. Там есть несколько текстовых полей и компонент TImage для выбора картинки будущего объекта. Я хочу поставить запреты на недозаполнение формы. С текстовами полями все нормально, а вот как очистить TImage после создания предыдущего объекта - не понимаю. :-(
← →
Johnmen © (2006-03-31 13:53) [8]Image1.Picture.Assign(nil);
← →
Creative (2006-03-31 13:55) [9]> Johnmen © (31.03.06 13:41) [6]
> Image1.Picture.Graphic.Empty
это условие. а как выглядит собственно строка, создающая это условие?
← →
Creative (2006-03-31 14:35) [10]Народ, может это тупой вопрос, но помогите мне, пожалуйста.
Каким бы способом не очищался TImage - все равно при повторном запуске процедуры программа считает, что в Image1.Picture.Graphic и в Image1.Picture и в Image1.Picture.Bitmap что-то назначено и сидит молчит. Хотя должна было бы предупредить юзера, что он не выбрал картинку (эта реакция прописана).
Если приложение только что запущено - все получается правильно и без картинки объект не создается. Но вот со следующим объектом - уже проблема. Из чего делается вывод, что проблема таки кроется в очистке TIImage`а.
Я стараюсь объяснять понятнее, лучше уже не могу.
← →
Johnmen © (2006-03-31 14:52) [11]
> программа считает
...
Хотя должна было бы предупредить юзера
Ну программа-то твоя, а не наша. Откуда мы знаем, что она считает, а что нет? Что должна, а что не очень?
Так что описывай проблемы понятным языком, с приведением кода...
← →
Старик (2006-03-31 15:22) [12]Ну и зачем тебе тогда TImage, раз ты не можешь его убить?
Бери TBitmap, грузи в него, чего тбее надо, а в нужные моменты отрисовывай через блиттинг (BitBlt). На форме просто делаешь if PtInRect(Rect, Cursor) таким образом ты отслеживаешь, в твоей ли картинке находится курсор.
А когда надо его грохнуть, делай FreeAndNil и проверяй if Assigned.
Чего гемор-то разводить с этими TImage и прочей фигней?!
← →
Creative (2006-03-31 15:35) [13]> Старик (31.03.06 15:22) [12]
> Бери TBitmap, грузи в него, чего тбее надо, а в нужные моменты
> отрисовывай через блиттинг (BitBlt).
А почему не Canvas.Draw? мне его целиком надо рисовать, а не нужные моменты :-)
← →
Старик (2006-03-31 16:06) [14]Да потому что Draw - это обертка над блиттингом. а я не люблю обертки и, по возможности, стараюсь избегать их использовать. впрочем, мое дело тебе реешние дать, а остальное - твои проблемы.
Те же TFileStream"ы, например - ну гемор гемором.
Лучше уж напрямую FileRead/FileWrite.
и потом - где я заставил тебя отрисовывать именно моменты? рисуй все, что нужно.
← →
Johnmen © (2006-03-31 16:11) [15]
> Старик (31.03.06 16:06) [14]
Ты просто не умеешь их готовить (с) И не только их...
← →
Creative (2006-03-31 16:21) [16]> Старик (31.03.06 16:06) [14]
>мое дело тебе реешние дать, а остальное - твои
> проблемы.
пожалуйста, не сердитесь. мне просто было интересно, почему выдали такое решение.
и спасибо вам большое - проблема решилась.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.04.16;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.037 c