Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2003.10.16;
Скачать: [xml.tar.bz2];

Вниз

Как перетащить в tbitmap конкретный рисунок из Timagelist?   Найти похожие ветки 

 
sergey2   (2003-06-15 14:14) [0]

Сабж. Может я тупой, но пол-дня не мог сделать такую фигню.
Вобщем есть переменная типа tbitmap, и нужно в нее из timagelist перетащить заданный рисунок.
Помогите плиз...


 
Song   (2003-06-15 14:20) [1]

TImageList.GetBitMap()


 
sergey2   (2003-06-16 12:50) [2]

Да пробовал я это.. Ни фига не работает.

Когда пишу так:

procedure TForm1.CaptionButton3Click(Sender: TObject);
var
pict:TBitmap;
begin
imagelist1.GetBitmap(1,pict);
captionbutton3.Glyph:=pict;
end;

компилятор выдает
[Warning] Main.pas(160): Variable "pict" might not have been initialized

И в рантайме в этом месте ошибка возникает.

А когда для эксперимента пробую так:

procedure TForm1.CaptionButton3Click(Sender: TObject);
var
pict:TBitmap;
begin
pict:=nil;
imagelist1.GetBitmap(1,pict);
captionbutton3.Glyph:=pict;
end;

То в строке imagelist1.GetBitmap(1,pict) значение pict не меняется.
Так что эта процедура GetBitmap() наверное предназначена не для того что мне нужно, а для обратного.

Мож кто еще подскажет?


 
pasha676   (2003-06-16 13:33) [3]

pict:=nil; - супер.

А хелп почитать слабо? Там даже пример есть. Его надо не обнулять, а создавать.


 
sergey2   (2003-06-16 14:17) [4]

Да мне его обнулять и не нужно. Просто это я провел эксперимент.
чтобы компилятор мне не писал что Variable "pict" might not have been initialized. Я просто и не знал что ее нужно создавать.
(раньше не приходилось использовать tbitmap)

Вобщем большое спасибо. Я понял.
Такая фигня уже работает:

procedure TForm1.CaptionButton3Click(Sender: TObject);
var
pict:TBitmap;
begin
pict:=tbitmap.create;
imagelist1.GetBitmap(1,pict);
captionbutton3.Glyph:=pict;
end;

хотя как оказалось можно было и без переменной pict написать:

procedure TForm1.CaptionButton3Click(Sender: TObject);
begin
imagelist1.GetBitmap(1,captionbutton3.Glyph);
end;


 
Song   (2003-06-16 15:02) [5]

Нормально.. ты не в созданный bitmap получаешь картинку. Однака, ты гений.


 
sergey2   (2003-06-16 15:12) [6]

Ты имеешь ввиду что мне рисунок нужен был в captionbutton3.Glyph?
просто когда у меня что-то не получается, я начинаю писать код так чтобы все понемногу делалось, чтобы можно было проследить что не нравится компилятору или где ошибка возникает.
Поэтому и вставил эту переменную pict.


 
pasha676   (2003-06-16 15:42) [7]

Да нет же. Он имеет ввиду основы объектного програмирования. Прежде чем использовать объект, его надо создать. Может и есть языки которые обходяться без этого правила - но я таких не встречал.

Если хочешь использовать TBitmap - создай его. Закончил работу - удали. TBitmap - это не переменная картинки - это полноценный объект со всякими методами и пропертями... И еще рекомендую научиться юзать клавишу F1. Если б ты ей воспользовался ранее - то этого вопроса не было бы на форуме.



Страницы: 1 вся ветка

Форум: "Media";
Текущий архив: 2003.10.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.011 c
14-51414
PVOzerski
2003-09-26 10:59
2003.10.16
Теперь обрушил NT у себя на работе... Как бы оживить


7-51546
AllDontFire
2003-07-30 17:32
2003.10.16
Как программно отключить сетевуху?


1-51285
nomadpo
2003-10-06 15:31
2003.10.16
Отображение на панели задач Windows


7-51532
Novenkij
2003-07-30 22:36
2003.10.16
как узнать hendle всех запущенных программ в системе


6-51364
Novinkij
2003-08-21 14:11
2003.10.16
что-то типа сервера





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский