Windows カスタムライブラリ

   VT-100 エミュレーション・ウインド コントロール


 ANSIエスケープコードにより、描画スクリーン上の任意の(文字単位の)位置にグラフィカルに文字列を描画するコントロールです。
 
ANSIエスケープコードでは、描画色の設定や、スクリーンの部分スクロール等ができます。

 画面の文字数や行数(仮想VRAMサイズ)は任意に設定可能です。
 また、画面をオーバーした
(スクロールアウトした)行はバッファリングされ、スクロールバーにて戻して見ることができます。

 もちろん、ログ表示等の通常のスクロールウインドとしても動作可能です。

VT100エミュレーションウインドコントロールの外観を以下に示します。

   


 本コントロールでは、ANSIエスケープシーケンスにより、描画スクリーン(以降、仮想VRAMという)の任意の文字位置にカーソルを移動したり、描画色の設定等を行うことができます。(つまり、文字単位でグラフィカルな描画が可能です)
 仮想VRAMの桁数(文字数)や、行数は任意に設定することができます。

   

 桁位置と行位置は、仮想VRAMの左上位置を原点としますが、本コントロールのLocateメソッドとANSIエスケープコードでは位置の指定方法が異なります。
 本コントロールのLocateメソッドでは、仮想VRAMの左上位置を0行,0桁とします。
 ANSIエスケープシーケンスでは、仮想VRAMの左上位置が1行,1桁となります。


スクロールアウトした行のバッファリング

 仮想VRAMをスクロールアウトした行(仮想VRAMの最下行で改行を行うと、最上行はスクロールアウトされる)は、バッファリングされ、スクロールバーでスクロールして見ることができます。
 但し、このバッファリングされた行に描画することはできません。(描画は仮想VRAM上でのみ可能です)

   


フォントの設定

 ポップアップメニュー(右クリック)から「フォント設定」を選択し、任意のフォントを設定することができます。
 固定ピッチフォントや、プロポーショナルフォント(可変ピッチのフォント)、いずれのフォントでも設定できます。
 

テキストの選択とコピー

 マウスの左ボタンでのドラッグ操作により、任意のテキストを選択できます。
 選択されたテキストは、ポップアップメニュー(右クリック)から「コピー」を選択することにより、クリップボードへコピーできます。
 
尚、SHIFTキーを押しながらドラッグ操作を行うことにより、前回のドラッグ操作を継続することができます。
 マウスの左クリックにより、テキストの選択状態は解除されます。
 テキストを選択している状態では、ウインドの外枠がグレー表示されます。

   



描画テキストの一時保留

 スクロールバーの操作中や、テキストが選択されている場合、描画テキストデータは一時的に保留(バッファリング)されます。
 この間、ウインドはの表示は更新されず、一時停止します。
 この一時保留されたテキストデータは、テキストの選択状態が解除された時点、あるいは、スクロール操作を終了した時点で一気に描画されます。
 但し、一時保留バッファが満杯になった場合は、強制的にテキストの選択状態が解除され、スクロール操作を終了します。
 
一時保留バッファの容量は、任意に設定できます。

ファイルやディレクトリのドラッグ&ドロップ

 本コントロールにファイルやディレクトリをドラッグ&ドロップした場合は、当該イベントを発生します。
 このイベントでは、ドロップされたファイルやディレクトリの個数を通知します。
 実際にドロップされた(複数の)ファイルやディレクトリのパス名は、メソッドAPIを通じて取得できます