wzsoftロゴ
 
 

 

4. テキストの表示

テキストの表示と編集(ビュー)

ビュー(HVIEW)は、テキストの内容を「エディトボックス」「リストボックス」「メニュー」「1行入力」「アウトライン」などで表示します。
エディトボックスでは、テキストの内容がそのまま表示されます。
リストボックスでは、テキストの各段落がリスト表示されます。タブ区切りの項目は桁揃え表示されます。

1つのテキストを複数のビューで表示することもできます。ビューで編集すると、他のビューにも反映されます。
ビューを作成するにはvnew APIを用います。

    HVIEW v = vnew(text,wp,WS_VISIBLE|TWS_LIST|WS_TABSTOP|WS_VSCROLL,WID1,0);

テキストの現在位置は、ビューのカーソル位置と連動して移動します。複数のビューがある場合は、一番手前のビューと連動します。
テキストとビューのカーソル位置を明示的にセットするには、ビューのメソッドを呼び出します。

v.getcur();// ビューのカーソル位置を、テキストの現在位置に移動。
v.setcur();// テキストの現在位置を、ビューのカーソル位置に移動。

ビューは、テキストと同様にプロパティの取得・設定して、ビューの情報の取得や、動作の変更が可能です。
記述の例:

    v.clip = ID_ALL;

ビューの主なプロパティ:

place(getset)配置
cxmin(getset)配置の最小幅
cymin(getset)配置の最小高さ
cxal(getset)配置の幅を指定
cyal(getset)配置の高さを指定
rate(getset)配置の幅または高さの割合を%で指定
read(getset)閲覧モード
jmptag(getset)クリッカブルURLやE-Mailを有効にするか
clbtn(set)×ボタンを付けるか
xbase(set)横スクロール位置
idx(set)MBXの表示用フラグ
eable(getset)1:編集可能フラグを++、0:編集可能フラグを--
clip(getset)範囲選択モード
clitop(get)範囲選択の先頭アドレス
cliend(get)範囲選択の末尾アドレス
clipms(getset)マウスによる範囲選択
hist(set)ヒストリをセット
aform(getset)自動整形
top(getset)画面上端に表示する行
tagrv(getset)HTMLのタグの縮小表示
charrv(getset)HTMLの文字参照の文字表示
width(get)実際に横一列に表示する文字数
w(get)(HWND)ウィンドウハンドル
text(get)(HTEXT)テキストハンドル
key(get)(HTEXT)キー定義
filter(get)絞り込み

ビューの主なメソッド:

baseなるべくxbase=0,ybase=0になるようにフラッシュする
selcpカーソル位置が段落を移動したイベントを発生
flush設定内容を反映
getcurテキストの現在位置に、ビューのカーソル位置を移動
setcurビューのカーソル位置に、テキストの現在位置を移動
filtbk絞り込み文字列のBackspace-Delをおこなう
centerカーソル段落をビューの中央に表示されるように移動
term設定内容をリセットする
jmpbdyMIMEの本文へジャンプ

複数のビューの使用

ダイアログボックスとアプリケーションウィンドウは、複数のビューで構成されています。
ビューのウィンドウIDには、WID1からWID90までを指定します。それぞれのビューに個別のIDを指定し、通常はWID1,WID2,WID3,...の順に使います。[Tab]キーのフォーカス移動は、WID1から順におこなわれます。

ウィンドウ内のビューは自動で配置され、ウィンドウのリサイズ時の再配置も自動でおこないます。
ビューの配置は、ウィンドウ内の先頭のビューから位置とサイズを割り振っておこないます。まず先頭のビューに必要なサイズを割り当てます。残りの領域から、次のビューに必要なサイズを割り当てます。

ビューのウィンドウ内の順序でビューの位置が決まるので、必要に応じてビューの順序をSetWindowPos WindowsAPIやwdo APIで変更しておきます。

位置はビューのplaceプロパティで決まります。

ID_TOP上側に配置
ID_BOTTOM下側に配置
ID_LEFT左側に配置
ID_RIGHT右側に配置

サイズはビューのcxmin,cymin,cxal,cyal,rateで決まります。

cxmin配置の最小幅(place=LEFT,RIGHT)
cymin配置の最小高さ(place=TOP,BOTTOM)
cxal配置の幅を指定(place=LEFT,RIGHT)
cyal配置の高さを指定(place=TOP,BOTTOM)
rate配置の幅(place=LEFT,RIGHT)または高さ(place=TOP,BOTTOM)の割合を%で指定

ビューの種類に応じて位置やサイズのデフォルト値が決まっています。
位置決定用の特別なビューもあります。詳しくはサンプルプログラムを参照してください。

TWS_LF改行(top)
TWS_LFB改行(bottom)
TWS_LFV改行(縦,left)
TWS_LFVR改行(縦,right)

TWS_LF,TWS_LFVにはLF_SPLIT2,LF_SPLIT0オプションを指定できます。LF_SPLIT2で2分割、LF_SPLIT0で分割終了します。詳しくはファイラーのサンプルプログラムを参照してください。

メニュー

Text-Cでは、メニューはテキストで実現されています。
テキストの各段落がメニューの各項目になります。

コマンド名 タブ 表示内容 改行

コマンド名には6文字までの任意の英数字(識別値)を指定できます。

前へ 次へ