Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.02.15;
Скачать: CL | DM;

Вниз

Как сделать 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 вся ветка

Текущий архив: 2009.02.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
2-1230555975
...zZ
2008-12-29 16:06
2009.02.15
GetSystemMetrics


15-1229867338
Кое кто
2008-12-21 16:48
2009.02.15
Придумал свою систему разработки ПО


2-1231171332
sh1k4r1
2009-01-05 19:02
2009.02.15
Excel + Delphi


2-1230541525
Nobody
2008-12-29 12:05
2009.02.15
Как сделать переход по известному адресу


15-1229931499
Andy BitOff
2008-12-22 10:38
2009.02.15
Как скрыть учётку?