エディタ (えでぃた)

分類分類/GUI関連(vnako)/GUI部品
種類変数
初期値0
説明(GUI部品)
識別id:6001

説明 (かみょーん) [2006年08月14日]

「エディタ」構造体のプロパディ「パスワードモード」に1を設定すれば、パスワード記入のように、入力した文字を「*」で隠すことが出来ます。
また、入力されたテキストを判別する時も、単純に文字列で指定すればいいです。
ただし、こういったプロパディを持ったエディタを持つプログラムを実行ファイルにする時は、ソースに戻されたらこういった文字列が丸見えですので、暗号化して梱包したほうがいいかもしれません。(パスワード記入命令も例外ではありません)

あいうとはエディタ。
そのパスワードモードは、はい。
えおかとはボタン。
そのテキストは「認証」。
そのクリックした時は~
 もし、あいうのテキストが「password」ならば、//こっちもテキストで指定可能\
  「認証」と言う。
 違えば、
  「違います」と言う。

詳細(fushigineko)[2023年12月17日]

 エディタは一行入力用のGUI部品です。
 入力時には、左右方向のカーソルキー、CTRL+C,V,X,Aなどの編集ショートカットが使えます。一行のみですので、上向きカーソルは左向きと、下向きカーソルは右向きと同じになります。リターンキーやその他の無効なショートカットなどでは、警告音が鳴ります。

一般的な使用例

IDラベルとはラベル
IDラベルのテキストは「  ID:」

IDエディタとはエディタ
IDエディタのXはIDラベルの幅+IDラベルのX+2
IDエディタのYはIDラベルのY
IDエディタのヒントは「ID入力後{カッコ}次へ{カッコ閉じ}をクリックしてください」

IDラベルのY=(IDエディタの高さ-IDラベルの高さ)÷2+IDラベルのY 
// ラベルよりエディタの方が下がって見えていたのでラベルの位置を下げて修正

次ボタンとはボタン
次ボタンのテキストは「次へ」
次ボタンのYはIDエディタのY+IDエディタの高さ+2
次ボタンのX=IDラベルのX 
次ボタンのクリックした時は
 「IDは{カッコ}{IDエディタ}{カッコ閉じ}です」と言う。
 終り。
// 'IDエディタのテキスト' の 'のテキスト' は省略可能なので
// 'IDエディタ' を 変数名であるかのように記述できる

キャンセルボタンとはボタン
キャンセルボタンのテキストは「キャンセル」
キャンセルボタンのYはIDエディタのY+IDエディタの高さ+2
キャンセルボタンのXは次ボタンのX+次ボタンの幅+2
キャンセルボタンのクリックした時は
 「キャンセルされました」と言う。
 終り。
 
IDエディタに注目

 入力用のGUI部品には、ほかに、複数行入力のメモ、エディタとしての機能が豊富なTエディタ、数値入力に特化したスピンエディタがあります。またダイアログに分類されている命令のメモ記入は検索・置換やファイルからの読み込みや書き出しの機能を持った画面で入力できます。ダイアログには入力関連のたくさんの種類があります。
 色選択ダイアログ、リストをコンボで表示して選択などの方法が欲しい場合には、モーダルダイアログに分類されている項目記入ダイアログも利用できます。

 エディタで使えるイベントとプロパティは、多数ありますが、エディタ独自のものとして、パスワードモードがあります。パスワードモードの使い方については、このページ上方のかみょーんさんの説明をご覧ください。(なお、ダイアログに分類されている「パスワード入力」という命令もあります)。エディタの他のイベントとプロパティは以下の通りです。

エディタのイベントとプロパティ

 継承を遡る形で入れ子にしてあります。vnako.nakoよりの抜粋です。

  1. (エディタとして)
    1. パスワードモード(設定、取得)
    2. (エディタ系部品として)
      1. {イベント}クリックした時
      2. {イベント}ダブルクリックした時
      3. {イベント}変更した時
      4. 切り取り ~#切り取ってクリップボードに入れる
      5. コピー  ~#コピーしてクリップボードに入れる
      6. 貼り付け ~#クリップボードから貼り付け
      7. UNDO~#元に戻す(アンドゥ)
      8. REDO~#やり直す(リドゥ)ただしTエディタのみ
      9. 全選択~#全てのテキストを選択する
      10. 行 ←行設定 →行取得#行番号を指定する
      11. 列 ←列設定 →列取得#列番号を指定する
      12. 編集 ←編集設定 →編集取得# オン++オフを指定
      13. IME←IME設定→IME取得#IMEオン|IMEオフ|IMEかな|IMEカナ|IME半角
      14. (ウィンドウ部品として)
        1. ハンドル~# 部品のウィンドウハンドルを取得する
        2. 注目~ # フォーカスをあわせる
        3. メッセージ送信(MSG,W,L)~# 部品に Windows API を使ってメッセージを送信する
        4. (GUI部品として)
          1. オブジェクト# GUI部品のオブジェクト(VCLクラスのポインタ)を指す
          2. ID~# GUI部品の番号(VCLクラス(OBJ).Tagに記録される)
          3. X ←X設定 →X取得 # 部品のX座標
          4. 左 ←X設定 →X取得 # 部品のX座標
          5. Y ←Y設定 →Y取得 # 部品のY座標
          6. 上 ←Y設定 →Y取得 # 部品のY座標
          7. W ←W設定 →W取得 # 部品の幅
          8. H ←H設定 →H取得 # 部品の高さ
          9. 幅 ←W設定 →W取得 # 部品の幅
          10. 高さ←H設定 →H取得 # 部品の高さ
          11. レイアウト ←レイアウト設定 →レイアウト取得 # 自動レイアウト(上|下|左|右|全体)を文字列で指定する
          12. 親部品 ←親部品設定 →親部品取得 # 親となる部品
          13. 可視 ←可視設定 →可視取得 # オン|オフを指定し、オフを指定すると見えなくなる
          14. 有効 ←有効設定 →有効取得 # オン|オフを指定し、利用できない状態にする
          15. 最前面表示←最前面表示設定 →最前面表示取得 # 部品を最前面に表示する
          16. 最前面解除~自身のシステム:最背面
          17. ポケット # 一時データの格納に使える
          18. タグ # 一時データの格納に使える
          19. 壊す~ # 部品を削除する
          20. ヒント←ヒント設定→ヒント取得 # ポップアップヒントに表示する文を指定する
          21. 位置←位置設定→位置取得 # 部品の座標を「X,Y」の形式(文字列)で「10,10」のように指定する
          22. サイズ←サイズ設定→サイズ取得 # 部品のサイズを「X1,Y1.X2.Y2」の形式(文字列)で「10,10,100,30」のように指定する
          23. 下側~それは「{X},{Y++H++部品間隔}」# 部品の下側の位置を返す
          24. 右側~それは「{X++W++部品間隔},{Y}」# 部品の下側の位置を返す
      15. (テキストプロパティとして)
        1. テキスト ←テキスト設定 →テキスト取得 デフォルト
      16. (選択テキストプロパティとして)
        1. 選択文字列 ←選択文字列設定 →選択文字列取得
        2. 選択位置 ←選択位置設定 →選択位置取得
        3. 選択文字数 ←選択文字数設定 →選択文字数取得
      17. (フォントプロパティとして)
        1. 文字書体  ←文字書体SET  →文字書体GET
        2. 文字サイズ ←文字サイズSET →文字サイズGET
        3. 文字色   ←文字色SET   →文字色GET
      18. (キーボードプロパティとして)
        1. {イベント}キー押した時#変数『押された仮想キー』にキー番号が『シフトキー』に同時押しキーが入る ※このイベントが呼ばれた時、入力を受け付けた部品には既にキーが渡されている。
        2. {イベント}キータイピング時 # 変数『押されたキー』にキーが入る ※このイベントが呼ばれた時、入力を受け付けた部品にはキーは渡されておらず、このイベント処理終了後に渡される。
        3. {イベント}キー離した時#変数『押された仮想キー』にキー番号が『シフトキー』に同時押しキーが入る ※このイベントが呼ばれた時、入力を受け付けた部品には既にキーが渡されている。
        4. 押されたキー # キータイピング時に設定される
        5. 押された仮想キー # キー押した時|キー離した時に設定される
        6. シフトキー # キーイベント発生時設定される(SHIFT|CTRL|ALT)
      19. (背景色プロパティとして)
        1. 背景色 ←背景色設定 →背景色取得
    3. (マウスイベントプロパティとして)
      1. (マウス入出イベントプロパティとして)
        1. {イベント}マウス入った時
        2. {イベント}マウス出た時
      2. (マウス一般イベントプロパティとして)
        1. {イベント}マウス移動した時
        2. {イベント}マウス押した時
        3. {イベント}マウス離した時
        4. 押されたボタン # マウスイベント発生時設定される (右|左|中央)
        5. マウスX # マウスイベント発生時設定される
        6. マウスY # マウスイベント発生時設定される
        7. シフトキー # マウスイベント発生時設定される (SHIFT|CTRL|ALT)
        8. マウス位置~それは「{自身→マウスX},{自身→マウスY}」
    4. (ポップアッププロパティとして)
      1. ポップアップメニュー ←ポップアップメニュー設定 →ポップアップメニュー取得
    5. (ドロッププロパティとして)
      1. マウスX # マウスイベント発生時設定される
      2. マウスY # マウスイベント発生時設定される
      3. ドラッグモード ←ドラッグモード設定 →ドラッグモード取得 #オン(=1)|オフ(=0)
      4. {イベント}ドロップ許可する時 # ドラッグ&ドロップを許可する時、イベントの中でドロップ許可をオンにする
      5. {イベント}ドロップされた時 # ドラッグ&ドロップされた時に発生するイベント マウスX,マウスYを設定する
      6. ドロップ許可{=0} # 1=許可/0=許可しない
      7. ドロップ部品 # ドロップされた時に設定される
      8. {イベント}ファイルドロップされた時
      9. ファイルドロップ許可 ←ファイルドロップ許可設定 →ファイルドロップ許可取得
      10. ドロップファイル # ファイルがドロップされた時に設定される

※これらのイベント・プロパティは、なでしこエディタの左側のナビゲーションで「GUI」タブを選択し、エディタをクリックすると、下方に列挙されます。列挙された項目の一つをクリックすると、最下段に解説が表示されます。

使用例 リターンキーで入力完了とし、通常ならリターンキーを押すと鳴らされる警告音を鳴らさないようにし、各パラメーターをいじって、サイズ、文字色、背景色、IMEオンなども設定した例。

テストエディタとはエディタ
テストエディタの背景色は黄色。
テストエディタの文字色は緑色。
テストエディタの文字サイズは15。
テストエディタの文字書体は「MSゴシック」
テストエディタのIMEはIMEオン。
テストエディタの幅は300
テストエディタのテキストは「名前を入力してください」
テストエディタのヒントは「入力が終わったらリターンキーを押してください」
テストエディタに注目
テストエディタのキータイピングした時は~
 もし、テストエディタの押されたキー=CHR(13)ならば、
  テストエディタの押されたキー=CHR(0) // 消音
   テストエディタを言う。// ここに入力終了時の処理を書く
  終り。

※文字サイズを変更すると、文字サイズに合わせて自動的に高さが調整されます。幅は変わりません。

応用(fushigineko)[2023年12月17日]

 エディタに入力できる文字数を制限する時には、以下のようなプログラムを追加してください。

#-----------------------------------------------
!EM_LIMITTEXT=$C5。
●エディタ文字数制限({グループ}OBJをAで|OBJをAに)
  OBJ→メッセージ送信(EM_LIMITTEXT,A,0)。
#-----------------------------------------------

これで({グループ}OBJをAで|OBJをAに)エディタ文字数制限 という関数が定義され、以下のように使用できます。

エディタAとはエディタ。
エディタAを10にエディタ文字数制限。//10文字

出典:なでしこライブラリエディタ文字数制限より。制作者:粗茶くん さん

関連ページ (fushigineko)[2009年11月28日]

公式マニュアルのページ

変数・関数・イベント等の詳細のページ