Thread Rating:
  • 304 Vote(s) - 2.65 Average
  • 1
  • 2
  • 3
  • 4
  • 5
セルをマウスクリックした時の値の選択状態制御
11-09-2015, 01:01 PM,
#1
セルをマウスクリックした時の値の選択状態制御
グリッドのセルをクリックした時に、値が全選択された状態にするにはどのようにしたらよいでしょうか?

現在は、セルをクリックするとクリックした桁にキャレットが表示されるようになっています。
Tabキーでフォーカス移動してきた場合は値が全選択された状態となっており、
こちらの動作に統一するための修正となります。

カスタム セル クラスの create-editor で PointerPress、FocusIn のどちらか、
または両方のイベント ハンドラーを追加してみましたが、
一瞬全選択された後選択が解除されてキャレットが表示される動作となってしまいました。

|| フォーカス時常に値を選択する
{editor.add-event-handler
{on eTongueointerEnvelopeEvent do
{type-switch e.contents
case ppTongueointerPress do
{editor.select-all}
{e.consume}
}
}
}

{editor.add-event-handler
{on e:FocusIn do
{editor.select-all}
{e.consume}
}
}

実現方法についてご教示下さい。
11-09-2015, 05:02 PM,
#2
RE: セルをマウスクリックした時の値の選択状態制御
カスタムセルクラス自身にPointerReleaseイベントに対してイベントを
張り付けてはどうでしょうか。

Code:
{define-class public open AmountCell {inherits StandardStringCell}
  
  {constructor public {default}
    {construct-super}
    
    {self.add-event-handler
        {on e:PointerEnvelopeEvent do
            {type-switch e.contents
             case pp:PointerRelease do
                {if self.current-editor != null then
                    {self.current-editor.select-all}
                    {e.consume}
                }
            }
        }
    }
  }
}
11-09-2015, 05:28 PM,
#3
RE: セルをマウスクリックした時の値の選択状態制御
ご回答ありがとうございます。
PointerRelease なんですね・・・。
おかげさまで、期待通りの動作を実現できました。


最終的に、少し手を加えて次のようになりました。
Code:
|| マウスクリック時に全選択状態にする    {self.add-event-handler        {on e:PointerEnvelopeEvent do            {type-switch e.contents             case pp:PointerRelease do                {if self.current-editor != null then                    || 選択状態でクリックした時は選択解除する                    {if self.current-editor.selection.empty? then                        {after 0s do                            {self.current-editor.select-all}                        }                    }                }            }        }    }


ありがとうございました!

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('1274')