• ベストアンサー

Scrollバーの表示

DPEの回答

  • DPE
  • ベストアンサー率85% (666/776)
回答No.3

前回 http://okweb.jp/kotaeru.php3?q=961443 の続きですよね。 q=961443 で紹介した作り方の一部を変更していただくと、TextArea コンポーネントに移行できます。  ・テキストフィールドの代わりに TextArea コンポーネントを置き、インスタンス名を disp_fld とする  ・「パブリッシュ設定」の「 ActionScript バージョン」を”ActionScript 2.0”にする この2点を変更してください。 TextArea コンポーネントを制御する TextArea オブジェクトも、TextField オブジェクト同様に text というプロパティを持っていますので、スクリプトはそのまま使用できます。 TextArea コンポーネントに関しては、TextArea オブジェクトの持つ各プロパティと、コンポーネントの外観や表示フォントなどを変更する UIObject オブジェクトの setStyle というメソッドで設定します。 UIObject.setStyle は、TextArea 以外のコンポーネントでも共通して使えるように設計されているため、ヘルプにはややこしく書かれていますが、基本的には  インスタンス名.setStyle( "変更する項目" , 値 ); このような書式で使います。 第1引数に渡せる文字列とそれに対応する第2引数は、コンポーネントの種類によって違います。TextArea で利用できる引数の詳細は、ヘルプの「 Flash コンポーネントガイド」→「コンポーネント辞書」→「 TextArea コンポーネント」→「 TextArea コンポーネントのカスタマイズ」→「 TextArea コンポーネントでのスタイルの使用」をご参照ください。 実際にスクリプトにしてみますと、大体以下のようになります。フレーム1で済ませておくといいでしょう。 (↓このスクリプトをコピーする場合は、各行頭の全角のスペースを、全て半角のスペースかタブに置き換えてください)  /* TextArea のカスタマイズ */   //縦・横のスクロールバーを自動で出す   disp_fld.vScrollPolicy = "auto";   disp_fld.hScrollPolicy = "auto";   //文字の折り返しを禁止する   disp_fld.wordWrap = false;  /* 文字に関する設定 */   //使用するフォント   disp_fld.setStyle( "fontFamily" , "_等幅" );   //文字のサイズ   disp_fld.setStyle( "fontSize" , 15 );   //斜体・太文字にする   disp_fld.setStyle( "fontStyle" , "italic" );   disp_fld.setStyle( "fontWeight" , "bold" );   //テキストの色を青にする   disp_fld.setStyle( "color" , 0x0000DD ); 横のスクロールバーは、文字の折り返しが許可( wordWrap = true )されていると、hScrollPolicy プロパティを auto にしても on にしても表示されません。 一般的には横スクロールは嫌われますから、利用はほどほどにしましょう。 斜体と太文字の設定は、第2引数に "normal" を渡すと無効(装飾なし)になります。デフォルトでは normal ですので、不要なら削除してください。 前回もちょっと書きましたように、TextArea コンポーネントではカスタムタブが利用できないようです。(調べたのですが、tabStops にあたるものは見当たりませんでした) 残る問題は段組みですが、表示に等幅フォント(どの文字も一律同じ幅のフォント)を使うと、1行あたりの文字数と行の長さは固定できます。 例えば、1列が全角 10 文字の段組みとして、全角3文字しかないセル(段組みごとの1行)では、タブ( %09 )の代わりに全角のスペースを残り7文字分詰めておくと、次の段は 11 文字目から始まります。 等幅フォントであれば、文字送りの関係で段組みが崩れるようなこともありません。半角が混ざって字数が半端になる場合も、半角のスペースを利用して詰め物をしておけば対応できます。 半角のスペースが何らかの原因で読み込めないようでしたら、半角スペースのコード %20 でお試しください。 なお、改行コード %0A と %0D はそのまま使えます。 字数を無理やり合わせるという原始的な手法で、テキストファイルの作成が余計に面倒ではありますが、#1の方がおっしゃるアップデータのリリースまで待てない事情でしたら、さしあたってこのような対処でいかがでしょうか。

teddy1014
質問者

補足

DPEさん、 引き続きありがとうございます。 おっしゃる通り、TextArea コンポーネントに代えて実行しました。勿論、Script2.0への設定、vscrollpolicyも「auto」にしました。 横幅400Pixcel、縦20Pixcelに設定し、敢えてScrollBarが表示される事を確認したかったのですが、ScrollBarが表示されません。どうしてでしょうか?。 また、大変恐縮ですがご存知でしたら「No.968748 Imageのスクロール」、「No.968505 ユーザー環境の把握」に付いてもご教授頂けませんか?。 何卒宜しくお願い致します。

関連するQ&A

  • iPhoneアプリ開発 スクロールバーを表示

    Xcode version 4.5 xib上にUIScrollView があります。 このスクロールビューに常時スクロールバーを表示させたいのです。 プロパティの設定等、行ってみたのですが、どうしてもスクロールバーを表示 することができません。 - (void)viewDidLoad { [super viewDidLoad]; scroll.indicatorStyle = UIScrollViewIndicatorStyleBlack; scroll.showsVerticalScrollIndicator = YES; } スクロールバーを表示する方法を教えてください。 よろしくお願いします。

  • FlashMXのスクロールバーに関して

    こんにちわ、 win2000でFlashMXを使用し作業をしています。 外部ファイルを読み込み、テキスト表示をする際、UIコンポーネントのスクロールバーを使用しました。 しかし、テキストボックスの大きさまでは表示されるのですが、全ての文書を見ることが出来ません。 文章をスクロールさせたいのですが、どうすれば出来るのでしょうか? ちなみにアクションスクリプトは System.useCodepage = true; this.loadVariables("test.txt");{ _root.newtxt.condenseWhite = true; } で外部ファイル"test.txt"を読み込んでます。 そのほかはスクリプトを組んでません。 UIコンポーネントのスクロールのプロパティでは、 ●Target TextField → newtext(テキストボックスのインスタンス名) ●Horizontal → false になってます。 レイヤーは ・テキストボックス ・スクロールバー 一つ一つ分かれています。 もしわかるかたがいらっしゃれば教えていただければと思います。 また説明として不十分であればおっしゃってください。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • スクロールバーの表示について

    お世話になります。 フォームやフレームにスクロールバーを表示させたいのですがScrollBarsプロパティやKeepScrollBarsVisibleプロパティに値を設定してもレールの部分だけ表示されてバーが表示されません。 というのもフォームやフレームの中にたくさんコントロールを置きたいのですがフォームやフレームの中に納まらないためスクロールバーでスクロールして納まらない部分も表示できるようにしたいと思っています。 フォームやフレームの中をスクロールするにはどうすればよいのでしょうか(テキストボックスではバーが表示されスクロールできます)。 よろしくお願い致します。

  • リストビューのスクロールバーを非表示にしたい

    eMbedded Visual C++ 4.0 、MFC 、ダイアログベースでプログラミングをしています。 リストビューのスクロールバーを非表示にしてCListCtrl::Scrollを使い別のプログラムからスクロールさせたく、 「EnableScrollBarCtrl」や「ShowScrollBar」を使ってみたりしましたが非表示にできません。 リストビューのプロパティで「スクロールさせない」にチェックすると、CListCtrl::Scrollによるスクロールができなくなってしまいます。 非表示でCListCtrl::Scrollでスクロールできる方法をご存知でしたら教えてください。 なぜ別のプログラムでスクロールさせたいのかといいますと複数のリストビューを連動させてスクロールさせたいためです。 eMbedded Visual C++ 4.0はVC++6.0と似ているようですのでそのあたりに詳しい方アドバイスをください。

  • VC++ DialogBoxへのscroll可能なformの貼り付け

    お世話になります。 VC++初心者です。MFCアプリケーションで ダイアログボックスにスクロール可能なフォームを固定で貼り付けようと思っています。 具体的には以下のことを行いたいのです。どなたかご教授願います。 フォームを貼り付けるダイアログ testDialog 貼り付けられるフォーム formChild formChildには複数(例えば30個)のテキストボックス(エディットボックス)を貼り付けておきます。 testDialogにformChildを貼り付けますがこのときテキストボックス10個分しか表示されないようにしておき、スクロールバーにてformChildの表示位置が変わるようにしたいと思っています。(11個目が表示されると1個目がきえる) このときにはりつけるformChildをスクロール可能なダイアログであるFORMVIEWを貼り付けられれば比較的簡単に実装できそうなのですが、 これが実装可能なのかどうかわかりません。 現在テスト的にプロパティページを貼り付け、スクロールバーを貼り付けて、スクロールバーの移動にあわせてプロパティページの表示位置を変えようかとも思いましたがプロパティページではTABが勝手に表示されてしまうので使えなさそうです。 質問を整理すると 1.ダイアログボックス上にスクロール可能なエディットコントロールの貼りついたFORMVIEWは貼り付けられるか。 2.TABのないプロパティページを作成することはできるか、また作成することができるならどう作成すればいいか。 3.1が実現可能だとして、2の表示位置をスクロールバーを貼り付けることによって変更するやり方とどちらが比較的簡単に実装できるか。 4.1、2以外の方法で比較的簡単に上記で実現したいことを行う方法があればどうすればよいか。 以上、お分かりになる範囲でお教えいただけると非常にありがたいです。お力をお貸し下さい。よろしくお願いします。

  • 外部ファイルを読み込んだ際に表示される文字列

    お世話になります。 今回外部ファイルを読み込み表示させるFlashを作成下のですが、最終行に「=&onLoad=[type Function]」と表示されてしまいます。表示させなくするにはどのような手段を用いればよろしいでしょうか? --------ソース------------ // エンコード設定 System.useCodepage = true; // オブジェクト生成 nLoad = new LoadVars(); // 外部テキストを読み込む nLoad.load("eikaku.txt"); // 読み込み完了 // 関数呼び出し用 function mScroll01() { // 上にテキストスクロール _root.nText.scroll -= 1; } // 関数呼び出し用 function mScroll02() { // 下にテキストスクロール nText.scroll += 1; } -------ここから上ボタン------------------------------ onClipEvent (enterFrame) { if (check) { _root.mScroll01(); } } on(press) { check = true; } on(release, releaseOutside) { check = false; } ---------ここから下ボタン--------------------------------- onClipEvent (enterFrame) { if (check) { _root.mScroll02(); } } on(press) { check = true; } on(release, releaseOutside) { check = false; } と処理をさせています。よろしくお願いします。

    • ベストアンサー
    • Flash
  • Firefox3.5.2で常時スクロールバーを表示する方法

    今までWEBページを作成していて、 画面遷移時のスクロールバーによる画面のガタつきを防ぐために、 html { overflow-y:scroll; } としていたのですが、Firefox3.5.2ではスクロールバーが 表示されなくなってしまいました。 どなたか、Firefox3.5.2で常時スクロールバーを表示する方法を ご存知でしたら教えていただけないでしょうか?

  • CSSだけで、テーブルにスクロールバーを表示させたいのですが…

    CSSを使い、テーブルにスクロールバーを表示させたいのですが <div style="height:60px; width:300px; overflow-y:scroll;"> <table border=1 width=300> : </table> </div> 上記の方法だと確かにスクロールバーは表示されるのですが、出来ればDIVを使わずに、作っておいたCSSを適用するだけで、テーブルにスクロールバーを表示させることは可能でしょうか? 出来れば、スクロールバーの色を変更して、横(X軸)のスクロールバーも消したいのですが… CSSで .scroll { overflow: scroll; visibility: visible; height: 100px; width: 140px; } とやってみたのですが、どうしてもスクロールバーが表示されません。何が足りないのか、もしくは根本から間違っているのかがわかりません。 ご存知の方教えて下さい。

    • ベストアンサー
    • HTML
  • CSSでスクロールバー

    CSSでdivタグにwidthとheightを指定してボックスを作ります。そして、そこにoverflow:scroll;を指定して、そのボックスにスクロールバーを表示させるのですが、下のスクロールバーを表示させないようにするにはどうすればいいんでしょうか?右横の縦方向のスクロールバーは必要ですが、表示させるもののwidthが決まっている場合、下の横方向のスクロールバーが邪魔で仕方ないんですけど。 どなたか教えて下さいませんか??

    • ベストアンサー
    • HTML
  • 文字を一文字づつ表示し、スクロールバーがしたまできたら、文字を表示する。

    質問させて下さい。 //トレーニングボタンを押したとき train.onRelease = function() { mydata_len = _level0.entry.length; i = 0; typeID = setInterval(function () { if (i<mydata_len) { i++; _root.my_txt.scroll++; my_txt.text = _level0.entry.substr(0, i); my_txt.setTextFormat( format ); } else { clearInterval(typeID); } }, 1); //テキストフィールドのscrollプロパティを監視 my_txt.onScroller = function() { if( this.scroll == this.maxscroll ) { _root.training._visible = false; _root.trainingend._visible =true; } else { _root.training._visible = true; _root.trainingend._visible =false; } } } テキストフィールドにタイプライター風に文字を一文字づつ表示させ、表示させている間は、表示中のダイナミックテキストをテキストフィールドの下に表示し、スクロールバーが一番したまできたら、表示終了のテキストに切り替わる、という事をしたいのですが、 文字を一文字づつ表示させている間も表示終了の文字が出てきてしまうのです。 文字を一文字づつ表示している間、スクロールバーが一番下にきたら、表示終了。それ以外は表示中、としたいのです。 文字を一文字づつ表示している間。という制約がなければできるのですが、文字の表示中だとうまくいきません。 もしよろしければ、お教えいただきたく思います。 私がつかっているのは、 WIN XP FLASH MX 2004 です。 よろしくお願いします。

    • ベストアンサー
    • Flash