|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
jvShape в Delphi XE2
Доброго времени суток, уважаемые форумчане!
У меня следующая проблема.. Существует в природе компонент с названием jvShape.. уж очень мне он понравился возможностью писать что-то поверх фигуры, да и фигур в нем приличное количество. Еще есть два компьютера - рабочий и домашний. Скачал компонент, как человек еще не сильно искушенный в Delphi нашел руководство по установке компонентов, приступил.. На рабочем компе с Borland Developer Studio 2006 (WinXP) все установить получилось, все работало шикарно. Такие же примерно манипуляции проделал на домашнем компе (Borland Developer Studio 2006 и Embarcadero RAD 2010 ) - на первый взгляд все тоже хорошо, но как раз та возможность что меня подкупила (надписи поверх фигуры) пропала (в дальнейшем пробовал поставить на Delphi XE2). Вообще надпись поверх фигуры отображается/скрывается посредством свойства jvShape.byUser (boolean).. так вот на одном компе по изменению этого свойства надпись просто пропадает/появляется (фигура остается), на другом показывается либо надпись либо фигура - вот собссно и проблема.. Подскажите как "удачно" поставить данный компонент на Delphi XE2.. Только ли дело в моих кривых руках, может настройки системы при работе с какими-нибудь альфа-каналами? Ссылка на скачивание jvshape.zip http://www.delphi.int.ru/components/J/ компонент довольно старый.. может вообще не подойдет для XE2? Заранее спасибо |
#2
|
|||
|
|||
Нус, где же все гуру? Что-нибудь ответьте)
Может быть я облажался и неправильно вопрос задал или еще что-то? |
#3
|
||||
|
||||
Компонент надо либо под Ansi затачивать, либо под юникод.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#4
|
|||
|
|||
Цитата:
По свойству ByUser выполняется одна из процедур doUserDraw и DrawText. Интересна функция DrawText тем, что после помещения в локальный битмап текста и слияния этого битмапа с канвой компонента нарисованной в doUserDraw фон текста остается непрозрачным, хотя этого быть не должно... вот код функции DrawText Код:
procedure TjvShape.DrawText; var bm:Tbitmap; fx,fy,fw,fh:integer; begin bm:=tbitmap.create; bm.width:=width; bm.height:=height; bm.canvas.font.assign(font); fw:=bm.canvas.TextWidth (FCaption); fh:=bm.canvas.TextHeight (FCaption); if fw>xw then fx:=5 else fx:=(width-fw) div 2; if fh>yh then fy:=5 else fy:=(height-fh) div 2; if FCaptionCentered then textrotate(bm,fx,fy,FCaptionAngle,FCaption,font) else textrotate(bm,FCaptionX,FCaptionY,FCaptionAngle,FCaption,font); bm.transparent:=true; bm.TransparentMode :=tmfixed; bm.TransparentColor :=clwhite; canvas.Draw (0,0,bm); bm.free; end; Хелп, как говорится) |
#5
|
|||
|
|||
Может стоит перенести тему в раздел "Графика и игры"?
Админы, помогите если можно перенести.. |