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

Вниз

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 вся ветка

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

Наверх




Память: 0.46 MB
Время: 0.033 c
2-1178813708
Angelka
2007-05-10 20:15
2007.05.27
Рабочая группа компьютера


15-1177662274
vajo
2007-04-27 12:24
2007.05.27
Как распечатать pdf?


1-1175510957
Novice
2007-04-02 14:49
2007.05.27
Процедуры и функции в DLL


15-1177436016
Kerk
2007-04-24 21:33
2007.05.27
Дайте чтоль похвалюсь :))


2-1178353083
Strate
2007-05-05 12:18
2007.05.27
Достать handle иконки 16на16





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