トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   ActionScript 3.0 特設会議室
     アンケート用にRadioButtonコンポーネントの高さを取得したい
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
flashlite
Åê¹ÆNo.41960
投稿日時: 2009-4-2 0:06
常連
居住地: 東京
投稿: 69
使用環境:
WinXP Win7
Flash CS3,Flash CS5.0

FlashPlayer
FlashLite 1.1、2.0、2.1、3.1(下記)
Docomo SO903i
SH-08A
SoftBank 911T
 922SH
945SHG
au W61SA
S004
Disney DM001SH
Willcom Windows Mobile
 WX341k
アンケート用にRadioButtonコンポーネントの高さを取得したい
FlashCS3 ActionScript3.0で
ラジオボタンやチェックボックスコンポーネントの高さを取得して、配置したいと考えてます。

 ?例?

 おはよう
■こんにちは
 こんばんは

□check2あああああ

□check3いいいいい


ステージ上にcheck1というチェックボックスを配置して
フレームアクション

import fl.events.ComponentEvent;
   
	trace(check1.y,check1.height,check1.textField.height);

//内容が変更されたら、内容と高さを知りたい。
check1.addEventListener(ComponentEvent.LABEL_CHANGE, labelChangeHandler);
function labelChangeHandler(event:ComponentEvent):void {
	trace("labelChange!",check1.label);
	trace(check1.y,check1.height,check1.textField.height);//反映されない。	
}

check1.label = "testA";
check1.label = "testA改行testB改行testC改行testA改行testB改行testC";



ラベルを複数行で表示して、 次のチェックボックスをうまく配置するために
変更されたあとのラベルのTextField?のY座標やfocusRect(Hit領域)の幅・高さを取得設定したいのですが
上記など試行錯誤して失敗しました。

(明らかに100pix以上の高さになっても、変更前の高さの値と変わりません。)
これらの方法を何れかひとつでも教えていただけないでしょうか?

よろしくお願いします。


----------------

ニノミヤ カズノリ
Åê¹ÆNo.41964
投稿日時: 2009-4-2 1:30
職人
居住地: 東京
投稿: 430
使用環境:
CS4
.4.11, .5.7
XP Pro(sp3)
Flash Player 10,0,22,87,
AIR 1.5.1,
IE 5.5 & 6 & 7 & 8,
Firefox 2.0.0.20 & 3.0.11 & 3.5,
Opera 9.64,
Safari 4,
Google Chrome 2.0.172.31,
Netscape 7.1
Re: アンケート用にRadioButtonコンポーネントの高さを取得したい
UIComponent.drawNow メソッドを使ってみては如何でしょうか。
check1.label = "testA";
check1.drawNow();
check1.label = "testA改行testB改行testC改行testA改行testB改行testC";
check1.drawNow();

flashlite
Åê¹ÆNo.41983
投稿日時: 2009-4-4 0:00
常連
居住地: 東京
投稿: 69
使用環境:
WinXP Win7
Flash CS3,Flash CS5.0

FlashPlayer
FlashLite 1.1、2.0、2.1、3.1(下記)
Docomo SO903i
SH-08A
SoftBank 911T
 922SH
945SHG
au W61SA
S004
Disney DM001SH
Willcom Windows Mobile
 WX341k
Re: アンケート用にRadioButtonコンポーネントの高さを取得したい
ニノミヤ カズノリさん。
ありがとうございます。

おかげさまで、糸口がつかめました。

実際に、上記の追加されたScriptで、実行すると
4回ほどlabelChangeイベントが発生しました。
そして、「テキストの高さ」だけは変化されたものを取得できることが確認できました。

labelを変更すると
1.labelChangeイベントの処理(テキストの高さは変更されない)
2.drawNow
 という順番で処理される

その前後のよくわからないタイミングでもlabelChangeイベントが発動。

調べたら、2の処理後にテキストの高さが変更。

となるようで、このままだと当初考えていた、
 labelChangeを受け取ったら、高さを取得して
次のUIを配置する位置を決められる。 という手段は使えないようです。

疑問は残りますが、どうやら
イベント関数は利用せずに
drawNow()して
直後にイベントでなく、直接高さを取得しにいけば解決できるきがしてます。


欲を言えばFocusRectの高さやUIそのものの高さを取得できるのが理想ですが。


----------------

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops