StrokeEdit クラス

概要

ストローク(ユーザのキー入力)を取得するための極小の編集窓です。

アプリをツーストローク対応にする。

メニューのコードに一行を入れるだけでアプリがツーストロークキー対応に変身します。

メニューを開かずに、メニューを実行することが出来るようになります。画面がうるさくなくなります。
上のようにメニューがセットされているときに次のコードをメニューに加えると、[esc]キーを第一ストロークキーとする、ツーストロークコマンドが実現されます。第2ストロークはメニューで「_」(アンダスコア)がついている文字です。Open の「O」にアンダスコアがついていれば、「O」が第2ストロークになります。
  Phi.new_item_ex('ツーストローク'  , 'ESC' , proc{|mi| @stroke_edit.do_second_stroke mi }),
[esc]O をキー入力した場合には次のようになります。

フォームに配置されたパネルで問い合わせを行う。

ask で問い合わせをするにも使うことができます。 StrokeEdit#ask は、メッセージを表示し、一文字の入力を待ち、その文字コードを返します。

使い方

メソッド

クラスメソッド

new (panel, .. )

プロパティ

stroke
ユーザの最後のキー入力のキーコードが入っています。

msg_color
ツーストロークキーのメッセージの色を指定します。デフォルトは CL_RED です。

メソッド

ask ( msg, color=CL_BLACK )
メッセージを表示し、キー入力を待ち、そのキーコードを返します。
パネルの設定にかかわらず左詰めで表示します。

get_stroke ( left=nil,top=2 )
極小編集窓を見えるようにしてストロークを返します。

align_left {}
表示が左詰めになるようにします。

do_second_stroke mi
メニュー項目を受け取って、ツーストロークキーを実現します。

say ( msg, color=CL_BLACK )
極小編集窓が置かれたパネルに表示します。
左詰めの制御は行いません。あらかじめパネルでの出力を左詰めに指定しておくか、 align_left を使えば左詰めになります。
  panel.alignment = TA_LEFT_JUSTIFY
  stroke_edit.align_left{
    stroke_edit.say "一時的に左詰めで表示"
  }
author: KUMAGAI Hidetake