![]()  | 
	
 
  | 
		
			
  | 	
	
	
		
		|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
![]()  | 
	
	
| 
		 | 
	Опции темы | Поиск в этой теме | Опции просмотра | 
| 
		 
			 
			#1  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Доброго времени суток, уважаемые форумчане! 
		
	
		
		
			У меня следующая проблема.. Существует в природе компонент с названием 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 затачивать, либо под юникод. 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#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  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Может стоит перенести тему в раздел "Графика и игры"?  
		
	
		
		
		
		
		
	
		
		
	
	
	Админы, помогите если можно перенести..  |