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

Вниз

Как сделать PaintBox?   Найти похожие ветки 

 
Vinum   (2007-12-10 14:16) [0]

Здравствуйте, столкнулся с проблемой создания на форме PaintBoxa,
если я пишу так

var pb:tkolpaintbox; gifshow: pgifshow;
pb:=newpaintbox(kolform1);
gifshow:=newgifshow(pb);
//подгрузил GIF
....
gifshow.ResizeParent;

то ничего не происходит, (анимация должна быть),

но если пишу

var pb:tkolpaintbox; gifshow: pgifshow;
pb:=newpaintbox(kolform1);
gifshow:=newgifshow(paintbox1 {(на форме который лежит)});
//подгрузил GIF
....
gifshow.ResizeParent;

то все прекрасно, GIFка анимируется в том месте, где лежит пэйнтбокс.
Как мне сделать так, чтоб на форме эта GIFка анимировалась там где захочу?
Прошу сильно не пинать :)


 
Дмитрий К ©   (2007-12-10 16:23) [1]

GifShow - сам PaintBox.
GifShow.Left
GifShow.Top


 
Vinum   (2007-12-10 16:48) [2]

пробовал, не получается :(
что я не так делаю?

kolstream:=newmemorystream;
StrStream := TStringStream.Create(ZipFileMem.data[2]) ;
KolStream.Write(Pointer(StrStream.DataString)^,Length(StrStream.DataString));
Kolstream.Position:=0;
pb:=newpaintbox(kolform1);

gifshow:=newgifshow(pb);
Gifshow.LoadFromStream(kolstream);
gifshow.Left:=30; gifshow.Top:=30;
//Windows.SetParent(pb.canvas.Handle,pb.canvas.Handle);
gifshow.ResizeParent;


 
Дмитрий К ©   (2007-12-10 16:57) [3]

Это уже kol/mck или все еще vcl?


 
Vinum   (2007-12-10 22:32) [4]

это кол-мцк изначально был(только модули classes, scizipfile, kolgif подключить пришлось), сейчас уже четкая грань стерлась :), но все, что написано выше (код), работает, анимация выводится, но выводится только на объектах, которые были ручками брошены на форму. Если создаешь объект из под программы pb:=newpaintbox(kolform1); то в нем ничего не отображается, хотя программа запускается и вроде что-то делает. Попробую аналогичное написать на VCL, может что и получится, но мне важен размер программы..хотя, scizipfile добавляет в ехешку 100кб :)


 
Дмитрий К ©   (2007-12-10 23:11) [5]

GifShow не нужен PaintBox для отображения анимации.
 GifShow := NewGifShow(form);
 GifShow.Left := 10;
 GifShow.Top := 10;
 GifShow.LoadFromStream(KolStream);

Все.

Для распаковки Zip можно использовать KOLUnzip:
http://www.kolnmck.ru/files/components/compress/kol_unzip.7z


 
Vinum   (2007-12-10 23:28) [6]

KOLUnzip по-моему не подходит (а мб и подойдет, я не смотрел его), потому что основная фишка scizipfile это доступ к данным архива без распаковки и создания временных файлов.

GifShow := NewGifShow(form);
GifShow.Left := 10;
GifShow.Top := 10;
GifShow.LoadFromStream(KolStream);


спасибо большое, помогло :) 2 дня мучался



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

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

Наверх





Память: 0.46 MB
Время: 0.005 c
15-1229697522
zorik
2008-12-19 17:38
2009.02.15
Проектирование бизнес-логики работы с БД


6-1198936020
DmT
2007-12-29 16:47
2009.02.15
Отправка письма по SMTP


4-1205362998
Jolik
2008-03-13 02:03
2009.02.15
Как узнать выполняется моя функция в основной нитке...


15-1229631516
Newss
2008-12-18 23:18
2009.02.15
Задача компоновки


15-1229502288
zorik
2008-12-17 11:24
2009.02.15
Подскажите реальный пример использования Синглтона





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский