Главная страница
    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.008 c
2-1230652389
ProgRAMmer Dimonych
2008-12-30 18:53
2009.02.15
Облом с созданием окна


2-1231250146
Семён
2009-01-06 16:55
2009.02.15
Как изменить содержимое 2-й строки ListView без Clear?


2-1231259024
Семён
2009-01-06 19:23
2009.02.15
Как обратиться к компоненту на форме по номеру?


6-1198506555
Palladin
2007-12-24 17:29
2009.02.15
WinInet и ERROR_INTERNET_SECURE_CHANNEL_ERROR


3-1214894716
i
2008-07-01 10:45
2009.02.15
асинхронное выполнение ADOStoredProc





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