(イメージ)テキストボックスに文字を入力するアニメーション (ここには実際には文字は入力できません、gif画像 )
テキストボックス (英 : text box )とは、グラフィカルユーザインタフェース の基本要素の1つであり、同時にGUI プログラミングで使われる典型的なウィジェット の1つである。ユーザーがテキスト情報(プレーンテキスト )を入力するためのインタフェースとして使われる。編集不可のテキストボックスもあり、単にテキストを表示するのに使われる。編集可能なテキストボックスはエディットボックス (英 : edit box )と呼ばれることもある。機能を制限した簡易テキストエディタ として利用される。
典型的なテキストボックスは任意の大きさの矩形であり、他の部分との境界で区切られている。入力欄がくぼんだように見える陰影表現が付けられることが多いが、フラットデザイン では単色の境界線や色の違いだけで区別されることもある。アクティブ 中は入力欄の中には点滅[ 1] する縦棒(キャレット )が表示され、現在のテキストが入力される位置が示されるようになっている。マウス カーソル は、テキストボックス上にあるときは、その形状を大文字 のI (アルファベット のアイ)のように変えるのが一般的である(鋼材 (梁 )の断面 の形に似ているため、同じように「Iビーム (英語版 ) 」(アイビーム、I-beam)と呼ばれることもある)。
種類
テキストボックス
一般に「テキストボックス」と表現すれば下記の二種の総称を指すが、後者と区別 する際の用語 として前者と同義に扱われることもある。
ログイン のパスワード やウィキペディア の『編集内容の要約』などの入力の状況では、キーボード を構えてスムーズに入力できるよう最初からアクティブな状態が標準になっている。
テキストフィールド
1行のみ入力が可能なもの。途中で改行しないゆえに、1行分の高さを持たせることが推奨されている[要出典 ] 。
通常は領域内に収まらなくなってもサイズは不変だが、下記の『キャレット位置設定とテキスト選択 』操作またはスワイプ でスクロールして隠れた部分の内容を確認できる。
確定後エンターキー を押すと、次のテキストフィールドがアクティブになる場合が多いが、それまでに入力された内容で遂行される場合もあり注意が必要なので、時たま問題視される。
検索 ボックス 、コンボボックス に採用されている。
ウェブブラウザー の自動入力 機能に設定した情報のうち、各ウェブサイト のアカウント 作成やお問い合わせなどのウェブページ にあるテキストフィールドの要求 と対応したものは、テキストフィールドのアクティブ化で設定通りの候補が表示され、選択するとキーボード操作を大幅にスキップできる。また、手動 入力したテキスト情報が保管される場合がある。候補をマウスオーバー した時やその選択後に新たな文字 の出入力があるまでは対象のテキストフィールドの中は青っぽく染まる。
テキストエリア
複数行の入力が可能なもの。改行できるゆえに、2行分以上の高さを持たせることが推奨されている[要出典 ] 。
通常は右下の角 からドラッグ・アンド・ドロップ でサイズ変更ができ、テキストが領域内に収まるサイズではない場合は水平/垂直スクロールバー の片方あるいは両方が付属することがある。
標準機能
典型的な実装では、以下のような機能がある。ショートカットキーはオペレーティングシステム などの環境やウィジェット・ツールキット あるいはアプリケーションによって異なることもある。
キーボードを使ったテキスト入力
キーを押下すると、キャレットの示す位置に文字が挿入される。非常に単純なテキストボックスあるいはパスワード入力などの特殊な用途のテキストボックスではキャレットを表示しないことがあり、その場合は表示されている文字列の末尾に、押下したキーに対応した文字が挿入される。
タッチ入力システムではテキスト入力欄をタップすることでソフトウェアキーボード が表示される。
キャレット位置設定とテキスト選択
マウス を使う場合、現在入力されている文字列中の好きな位置をマウスでクリックすることで、キャレットの位置を変更できる。そして、マウスの第1ボタンを押下したままドラッグすることで範囲選択できる。通例、選択範囲はテキストの前景色と背景色が変化(明暗が反転)する。入力欄の通常背景色が白色の場合、選択中の反転背景色には青色が使われることが多い。
キーボード を使う場合、キャレットの位置は矢印キーで変更する。Microsoft Windows 、KDE や GNOME の場合はHome/Endキーを、Mac OS の場合はCommand -左矢印/Command-右矢印を使うと、キャレットを行の先頭または最後尾に移動できる。Windows、KDE や GNOME の場合はPageUp/PageDownキーでキャレットをページ単位(テキストボックスに1度に表示できる分をページとする)で移動できる。キャレット移動の際にCtrlキー も押下すると、移動単位が大きくなる(Mac OS の場合はOptionキー )。Shiftキー を押下しながら、キーボードやマウスを操作してキャレットの位置を変更すると、その間のテキストが選択される。選択したテキストをドラッグ&ドロップ で別のテキストボックスに貼り付けること(カット/コピー&ペースト )ができるアプリケーションもある。
Apple プラットフォームの3D Touch 対応端末では、ソフトウェアキーボード領域を指で強く押している間は一時的にフリーカーソルモードになり、タップでは難しいキャレット位置の微調整を行なうこともできる。
テキスト編集(入力済みテキストの変更)
Insertキー を使って、挿入モードと上書きモードを切り換える。挿入モードでは、キャレットの右に文字があれば、新たな文字はその前に挿入される。上書きモードでは、新たな文字を入力すると、キャレットの右にある文字を置換する。テキストが選択された状態で文字を新たに入力すると、選択されたテキストを置換する。Deleteキー やBackspaceキー を押下すると、キャレット前後の文字を削除でき、同時にCtrlキーまたはCommandキーを押下すると単語単位で削除できる。クリップボード の標準的操作でテキストを編集できる。
元に戻す/やり直し (Undo/Redo)
アンドゥバッファの深さは実装によって異なる。Win32 Edit Control の場合、アンドゥバッファは1つしかない。
Ctrl+Z/Ctrl+Y(Windows、KDE や GNOME)またはCommand-Z/Command-Shift-Z(Mac OS)
コンテキストメニュー
入力欄の内部でマウスを右クリックしたり、ロングタップ(長押し)したりすることで、コンテキストメニュー を表示することができる。通例、メニューには全選択、カット/コピー/ペースト、アンドゥ/リドゥなどのコマンドが含まれる。
以上は、Windows と Mac (Classic Mac OS /macOS ) でのテキストボックスのキー操作である。X Window System や他のシステムでもほぼ同様なキー操作が定義されている。
脚注
^ フォーカスがある限り、永久にキャレットの点滅を続けるものもあれば、一定時間経過すると点滅を停止するものもある。点滅にはタイマーが利用されるが、省電力の観点から特にモバイル用のウィジェットでは一切点滅しないものもある。
関連項目
コマンド入力 データ入出力 表示 コンテナ ナビゲーション 特殊ウィンドウ 関連項目