Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 19.05.2009, 17:32
footman вне форума Посмотреть профиль Отправить личное сообщение для footman Найти все сообщения от footman
  № 1  
Ответить с цитированием
footman

Регистрация: Mar 2009
Сообщений: 42
По умолчанию canvas и объекты внутри него

есть canvas, который можно изменять в размрах. у него есть child обычный текст. При измененении размеров canvas'а он подстраивается под его размер. но как толлько canvas изменяется до таких размеров, когда текст в него не влезает физически, текст исчезает.

можно ли как-нибудь это обойти? например если размер canvas'а слишком мал, то добавить скроллы или просто не отображать часть?

Старый 19.05.2009, 18:38
Distorn вне форума Посмотреть профиль Отправить личное сообщение для Distorn Найти все сообщения от Distorn
  № 2  
Ответить с цитированием
Distorn

Регистрация: Aug 2005
Сообщений: 35
смотрите свойства minWidth, minHeight и useScrollPolicy - auto
для текста можно использовать truncateToFit

Старый 19.05.2009, 19:22
footman вне форума Посмотреть профиль Отправить личное сообщение для footman Найти все сообщения от footman
  № 3  
Ответить с цитированием
footman

Регистрация: Mar 2009
Сообщений: 42
правильное решение - использовать свойство includeInLayout. тогда размеры дочернего компонента не учитываются при ресайзе.

но возникла другая проблема - есть ли в свойствах канваса аналог css overflow:hidden?

Старый 03.06.2009, 18:45
footman вне форума Посмотреть профиль Отправить личное сообщение для footman Найти все сообщения от footman
  № 4  
Ответить с цитированием
footman

Регистрация: Mar 2009
Сообщений: 42
вопрос другой. тема смежная.

Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="onCC()">
 
	<mx:Script>
		<![CDATA[
			import mx.core.UIComponent;
			import mx.states.AddChild;
 
			private function onCC():void
			{
				DrawLineButton.addEventListener(MouseEvent.CLICK, DrawLineButtonHandler);	
			}
 
			private function DrawLineButtonHandler(event:MouseEvent):void
			{
				var hLine:Shape = new Shape();
				var hLineParent:UIComponent = new UIComponent();
 
				hLine.graphics.moveTo(10, 5);
				hLine.graphics.lineStyle(2, 0x990000, .75);
				hLine.graphics.lineTo(10, 410);
 
				hLineParent.addChild(hLine);
				ChildCanvas.addChild(hLineParent);
			}
		]]>
	</mx:Script>
 
	<mx:VBox x="10" y="10">
		<mx:Canvas id="ParentCanvas" x="10" y="10" width="500" height="500" backgroundColor="#ffffff">
			<mx:Canvas id="ChildCanvas" x="50" y="50" width="400" height="400" backgroundColor="#dadcde"/>
		</mx:Canvas>
		<mx:Button id="DrawLineButton" label="Draw Line" />
	</mx:VBox>
 
</mx:Application>
Есть ParentCanvas. Внутри него ChildCanvas. Рисуется линия и добавляется как child к ChildCanvas'у. Проблема в том, что линия выступает за пределы ChildCanvas'а. Можно ли как-нибудь сделать так, чтобы ChildCanvas "резал" (не отображал) те объекты, которые выступают за его границы. Вариант создать линию нужных размеров, чтоб она не выступала за пределы Canvas'а не подходит.

Старый 03.06.2009, 19:27
alekslitvinenk вне форума Посмотреть профиль Отправить личное сообщение для alekslitvinenk Посетить домашнюю страницу alekslitvinenk Найти все сообщения от alekslitvinenk
  № 5  
Ответить с цитированием
alekslitvinenk
 
Аватар для alekslitvinenk

Регистрация: Oct 2005
Адрес: Москва
Сообщений: 491
Отправить сообщение для alekslitvinenk с помощью ICQ Отправить сообщение для alekslitvinenk с помощью AIM Отправить сообщение для alekslitvinenk с помощью Skype™
можете попробовать использовать маску.
если не планируете использовать scroll bar-ы можно у канваса установить свойство scrollRect, но будьте осторожны: некоторые контролы могут начать вести себя неадекватно.

Старый 03.06.2009, 21:44
footman вне форума Посмотреть профиль Отправить личное сообщение для footman Найти все сообщения от footman
  № 6  
Ответить с цитированием
footman

Регистрация: Mar 2009
Сообщений: 42
большое спасибо! как раз то, что нужно!

Создать новую тему Ответ Часовой пояс GMT +4, время: 13:54.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 13:54.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.