Главная страница
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.009 c
2-1230973748
studenttgata
2009-01-03 12:09
2009.02.15
Как получить относительный путь к файлу через OpenDialog?


2-1230921661
New77
2009-01-02 21:41
2009.02.15
Как ограничить выбор в ComboBox - a, b, с и "Пусто"?


2-1231004012
N_SSS
2009-01-03 20:33
2009.02.15
Помогите исправить ошибку! -Координаты Х, У для события DblClick


4-1205580040
Vikindos
2008-03-15 14:20
2009.02.15
Как определить хэндл главного окна


15-1229516250
Knight
2008-12-17 15:17
2009.02.15
У меня тоже дочька завтра родится... три месяца назад.