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

Вниз

PaintBox и PBitmap   Найти похожие ветки 

 
SergeR ©   (2006-10-08 16:38) [0]

Только начал использовать KOL, возник вопрос :)
Имеется рисунок PBitmap.
Как его отобразить на PaintBox`е?
Получилось через MyPBitmap.draw(HandlePaintBox,0,0), но при перерисовке формы рисунок пропадает.
И вообще, странно:
Пишу PaintBox.canvas.ellipse(0,0,100,100), а при перерисовке опять чисто.
Объясните чайнику :).


 
Vladimir Kladov   (2006-10-08 16:58) [1]

OnPaint
Смотрите Demo
(кстати, демки выложены ли на kolnmck? Если нет могу выслать)


 
SergeR ©   (2006-10-08 17:17) [2]

Демки от туда скачал, спасибо.
Вообщем, я так понял - работать надо с PBitmap, а на OnPaint в PaintBox`е
вешать PBitMap.Draw(DC,0,0).
Т.е. работать с paintbox`ом без OnPaint нельзя.


 
Barloggg   (2006-10-09 09:28) [3]

ну в общем да.

paintbox это совсем не Timage как мы привыкли в VCL.
это просто панелька.

кстати если код отрисовки будет монструозным начнутся глюки по всему проекту... у меня вот в проекте в onpaint была отрисовка картинки разного размера (до 40мегабайт)... на предельных габаритах переставали отрисовываться даже прочие контролы пришлось сделать вывод графики опциональным (это применимо к этому проекту было).


 
SergeR ©   (2006-10-09 18:30) [4]

Всё, понял, спасибо. Буду формировать на отдельном битмапе.
ЗЫ. Только нафига тогда вообще этот painBox с канвой нужен,
если у него нет своего битмапа, за который он отвечает...


 
Vladimir Kladov   (2006-10-09 19:09) [5]

разве в VCL tPaintbox не такой же. Что-то я отстал.


 
Barloggg   (2006-10-10 08:54) [6]

лично я привык пользоваться TImage.
в него загружаешь картинку и забываешь про него. компонент все делает сам.
есть канва, на которой можно порисовать и есть канва у картинки на которой тоже можно порисовать, но в этом случае изменения остаются.

все просто и удобно.

в KOLPaintbox необходимость перекрывать onPaint и хранить битмап отдельно поначалу напрягает.
это если сравнивать с TImage.


 
Barloggg   (2006-10-10 09:29) [7]

зачем нужен PainBox с канвой?
ну, затем чтобы можно было бы что-нибудь положить на форму :)

с таким же успехом можно использовать панель например. но на Paintbox кажется компоненты не прилипают, а на панель прилипают.


 
SergeR ©   (2006-10-10 13:47) [8]

2 Vladimir Kladov:

В VCL TPaintBox вроде примерно такой же, только он не визуальный.
А я и подумал просто, что TPaintBox в MCK - это аналог Timage в VCL, и вместо того чтоб в исходники KOL глянуть, стал мудрить.

А так - разобрался, почти портировал проект. Жаль XML парсер не нашел, пришлось сочинять.
Осталость только наложение картинок сделать с прозрачностью, но тут, думаю проблем не возникнет :)
Он у меня меньше 100 Кб будет, а была около 1Мб.
Вообщем репект авторам.


 
Vedun   (2006-10-10 14:40) [9]

Видел я портированный  модуль для работы с XML. Автор - Theddy. Только не помню где. Либо на www.kolnmck.ru, либо у Theddy на сайте.



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

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

Наверх





Память: 0.46 MB
Время: 0.042 c
3-1173768325
lightix
2007-03-13 09:45
2007.05.27
Изменить LANGDRIVER для DBase


4-1166812769
O.O
2006-12-22 21:39
2007.05.27
Количество точек на дюйм экрана


15-1178091590
kyn66
2007-05-02 11:39
2007.05.27
При установке Rx2.75 (для D7) впервые появился глюк


15-1177619556
iZEN
2007-04-27 00:32
2007.05.27
Sun OpenSolaris 10 (раздаётся бесплатно)


15-1177418638
ALLON
2007-04-24 16:43
2007.05.27
работа Delphi в ограниченом юзере





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