Curl Global Community
DropdownList でラベルが選択できない - Printable Version

+- Curl Global Community (https://communities.curl.com)
+-- Forum: Discussions (https://communities.curl.com/forumdisplay.php?fid=1)
+--- Forum: General Curl questions (https://communities.curl.com/forumdisplay.php?fid=2)
+--- Thread: DropdownList でラベルが選択できない (/showthread.php?tid=672)



DropdownList でラベルが選択できない - umemura - 12-20-2012

DropdownList を「編集できない」状態にした際に、
文字色が薄くならず、かつ、文字が選択できるようにしたいです。

そもそも DropdownList では文字を選択できないよう(?)なので、
ComboBox を editable?=false に設定してみると、文字は選択できますが、
右の下三角ボタンがクリックでき、リストが表示されてしまいます。

disabled-text-sunken?=false, disabled-color="black" に指定することで、
文字が薄くなってしまう問題には対応できますが、
enabled?=false にしてしまうと、
やはり文字が選択できなくなってしまいます。

よい方法はありますでしょうか。



RE: DropdownList でラベルが選択できない - usami - 02-04-2013

ボタンを押せてしまうのであればボタンだけを押せなくさせればよいかと思います。

こんな感じでどうでしょうか? 上下キーでアイテムを選択させたければKeyPressイベントを外せばよいです。

Code:
{curl 8.0 applet}
{def cbo = {ComboBox
              enabled? = true,
              editable? = false,
              disabled-text-sunken?=false,
              disabled-color="black",
              value = "aaa",
              "bbb",
              "ccc",
              {on e:KeyPress do
                  {if e.value == KeyPressValue.up or e.value == KeyPressValue.down then
                      {e.consume}
                  }
              }
           }
}
{value
  def df-ui = cbo.ui-object asa SkinnableComboBoxUI
  def frame = df-ui.child.graphic asa Frame
  def grid = frame.child.graphic asa Grid
  def txt =  grid.child-array[0].graphic asa TextField
  def btn =  grid.child-array[1].graphic
  set txt.enabled? = true
  set btn.enabled? = false
  cbo
}