Thread Rating:
  • 229 Vote(s) - 2.61 Average
  • 1
  • 2
  • 3
  • 4
  • 5
RasterBox内の任意の位置で改行
03-08-2015, 01:01 PM,
#1
RasterBox内の任意の位置で改行
お世話になります。
連投になってしまいますが、質問させてください。

RecordGridのヘッダーとして次のようなRasterBoxを使用しています。
このRasterBoxに表示する文字列に改行のエスケープを含めても改行されないようです。
(下記のコードのspliceを外すと改行コードの位置が半角スペースのようになります)

Code:
let caption:String = "any\nstring"
{RasterBox
    font-size = 9pt,
    {splice caption}
}

改行位置を自動的に調整するコントロールなのでこういうものだとは思うのですが、
もし任意の位置でも改行させる方法があれば教えてください。

よろしくお願いします。
Reply
03-09-2015, 11:19 AM,
#2
RE: RasterBox内の任意の位置で改行
確かにRasterBoxは幅によって自動的に改行したりするので
強制的に改行させるようなオプションは見当たらないですね。

ですが、改行({br})を含んだtextプロシージャをRasterBoxに入れると
改行がされます。

以下のように文字列内に\nがある場合に、
{br}に置き換えそれらをtextプロシージャに渡して、
それをRasterBoxに渡します。

すると\nの箇所で改行されます。


Code:
{let caption:String = "any\nstring"}

{define-class public MyRasterBox {inherits RasterBox}
  
  {constructor public {default ...}
    let args:Arguments = {Arguments}
    let txt-args:Arguments = {Arguments}
    {for (val-identifier:any, key-identifier:#String) key index:int in ... do
        {if key-identifier == null and val-identifier isa String then
            let split-strs:StringArray =
                {val-identifier.split
                    split-chars = '\n'
                }
            {if split-strs.size >= 2 then
                {for s:String key index:int in split-strs do
                    ||{dump s}
                    {if index != 0 then
                        {txt-args.append {br}}
                    }
                    {txt-args.append s}
                }
                {continue}
            }
        }
        
        ||{dump key-identifier, val-identifier}
        {args.append val-identifier, keyword = key-identifier}
    }

    {construct-super
        {text {splice txt-args}},
        {splice args}
    }
  }
  
}
{value
    
    {MyRasterBox
        font-size = 9pt,
        font-weight = "bold",
        background = "yellow",
        caption
    }
}
Reply
03-09-2015, 03:22 PM,
#3
RE: RasterBox内の任意の位置で改行
ありがとうございます、おかげさまでヘッダーラベルを任意の場所で改行できました。

Reply

Forum Jump:


Users browsing this thread:
1 Guest(s)

MyBB SQL Error

MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1017 - Can't find file: 'mybb_threadviews' (errno: 2)
Query:
INSERT INTO mybb_threadviews (tid) VALUES('1213')