ユニット
ソフトウェアブロックのユニット
Text-Cは、ソフトウェア部品「ユニット」に対応しています。
- ディレクトリのファイル一覧をテキスト形式で取得するMBXユニット。
- トップレベルウィンドウを表示するアプリケーションユニット。
- ダイアログボックスを表示するダイアログボックスユニット。
ユニットをプログラムから使用するには、newunit APIを用います。
「newunit」APIは、新規テキストを作成して引数で指定した部品ユニットをテキストに組み込みます。
HTEXT mbx = newunit(ID_MBX);
ユニットの機能を使用するには、プロパティのセット/取得とメソッド呼び出しをおこないます。
プロパティやメソッドはユニットごとに異なります。
MBXユニットは、loadプロパティにCLM文字列をセットするとディレクトリをロードします。
mbx.clmload = "c:\\editor";
プロパティにテキストを指定するには、プロパティ名の前に「text」を付加します。
mbx.textfilter = text;
プロパティに代入した結果は、代入の成功を示すBOOL値になります。
printf("%d\n",mbx.textfilter = text);
メソッドを呼び出すには、「メソッド名()」を記述します。
mbx.reload();
mbxのreloadメソッドを呼び出します。メソッド呼び出しの結果は整数値になります。
「new」は特殊なメソッドです。新規に作成したテキストを返します。
テキストは、newメソッドを呼び出した関数が処理を終えると自動deleteされます。
テキストを引数に指定するメソッドは、()内にテキストを記述します。
mbx.gethdr(text);
アプリケーションユニット
アプリケーションユニットは、タイトルバー・メニューバー・ステータスバーの、トップレベルウィンドウを表示するユニットです。
アプリケーションの名前を識別値で指定します。
HTEXT app = appnew(ID_MYAPP);
「appsetproc」APIで、ウィンドウプロシジャをセットします。
ウィンドウプロシジャには、メニューコマンドの処理などを記述します。
appsetproc(app,myappproc);
ウィンドウタイトルやメニューのプロパティを設定します。
app.wa.clmtitle = "MY APP";
app.szmenu = menu_main;
ウィンドウを作成して開きます。
HTEXT text = new();
HVIEW v = vnew(text,app.w,WS_VISIBLE|TWS_LIST|WS_TABSTOP|WS_VSCROLL,WID1,0);
app.open();
アプリケーションには、下記のプロパティが用意されています。
| wa | (get) (HWND)アプリケーションのトップレベルのウィンドウハンドル |
| w | (get) (HWND)アプリケーションの中身のウィンドウハンドル |
| szmenu | (set) (STR) メニュー |
| szmenul | (set) (STR) (WindowsMobile) 左メニュー |
アプリケーションには、下記のメソッドが用意されています。
| open | アプリケーションのウィンドウを開く |
| popup | アプリケーションのウィンドウを前面に出す |
ダイアログボックスユニット
ダイアログボックスユニットは、ダイアログボックスを表示します。
HTEXT dlg = dlgnew("マイダイアログ");
vnewcmdbar(dlg.w);
HTEXT text = new();
add(text,"This is test");
vnew(text,dlg.w,WS_VISIBLE|WS_TABSTOP|TWS_LIST|WS_TABSTOP|WS_VSCROLL,WID1,0);
dlg.do();
ダイアログのプロパティ
| wa | (get) (HWND) ダイアログのトップレベルのウィンドウハンドル |
| w | (get) (HWND) ダイアログの本体のウィンドウハンドル |
ダイアログのメソッド
| open | ダイアログのウィンドウを開く |
| do | ダイアログを開き、「OK」「キャンセル」のループ |
| loop | 「OK」「キャンセル」「コマンド」ボタンのループ |
MBXユニット
MBXユニットは、フォルダのファイル一覧をテキスト形式で取得するユニットです。
フォルダにMBXフォルダを指定すると、メール一覧を取得します。
MBXユニットのテキストに、ファイルやメールの一覧が取得されます。一覧は自動的に更新されます。
テキストの行には、ファイル名・メールの件名・差出人・詳細の情報がタブ区切りで取得されます。
MBXユニットのテキストをビューで表示すると、ファイル一覧やメール一覧を表示します。
MBXには、下記のプロパティが用意されています。
| parent | (getset) イベントを通知する親ウィンドウハンドルを指定 |
| folder | (getset)1を指定してフォルダツリーをロード |
| stat | (set)1を指定して未読数などのステータスをロード |
| sort | (getset) ソート順を指定 |
| thread | (set)1を指定して一時的にスレッド順でソート |
| usrint | (set)1を指定してインターバルに動作 |
| subdir | (getset)1を指定してサブディレクトリ内のファイル一覧をロード |
| dir | (getset)1を指定してサブディレクトリを一覧に表示 |
| mbxdir | (getset)1を指定してMBXフォルダも通常フォルダとしてロード 0を指定するとMBXフォルダはメール一覧としてロード |
| cont | (getset)1を指定してファイルの先頭を一覧に表示 |
| binary | (set)1を指定してバイナリファイルも一覧にロード |
| pack | (set)1を指定して0をセットするまで一覧のロードやソートを停止 (get) packプロパティを返す |
| break | (getset)1を指定して動作を中止 |
| lock | (set)1を指定して0をセットするまで一覧の更新を停止 (get) lockプロパティを返す |
| locate | (set) 現在選択しているメールやフォルダを記憶 (get) 記憶位置へジャンプ |
| seling | (get) MBXの一覧更新の取得 |
| mbx | (get) MBXフォルダのメール一覧表示を取得 |
| size | (get) フォルダのサイズを返す |
| clmjump | (set) メッセージIDの項目へジャンプ |
| clmjumpfn | (set) ファイル名の項目へジャンプ |
| clmfname | (set) 指定したフォルダをロード (get) ロードしているフォルダ名を返す |
| clmload | (set) 指定したフォルダをロード |
| clmmask | (getset) ファイルマスク(*.cなど)をセット |
| clmfilter | (get) フィルタを取得 |
| clmfnamem | (get) ロードしているフォルダ名をマスク付きで返す |
| textfilter | (set) フィルタを指定 (get) フィルタを取得 |
MBXには、下記のメソッドが用意されています。
| top | 先頭へジャンプ |
| loadal | フォルダの一覧を再ロード |
| reload | フォルダの一覧の再ロードを開始 |
| delete | 現在位置のファイルやメールをごみ箱へ移動 |
| remove | 現在位置のファイルやメールを削除 |
| getflg | 現在位置のファイルやメールのフラグを取得 |
| fname(text) | 現在位置のファイルのフルパス名をテキストにセット |
| gethdr(text) | 現在位置のメールのヘッダをテキストにロード |
| getbdy(text) | 現在位置のメールの本文をテキストにロード |
| getwhl(text) | 現在位置のメールのヘッダと本文をテキストにロード |
| add(text) | テキストのメールをMBXフォルダに追加 |
| addjmp(text) | テキストのメールをMBXフォルダに追加、追加したメールへジャンプ |
| ext(text) | 現在位置のメールを1つのファイルに切り出して、テキストにロード |
| getmid(text) | 現在位置のファイルやメールのメッセージIDを取得し、テキストのmidプロパティにセット |
| update(text) | 現在位置のメールをテキストに更新 |
ファイルとメールのユニット
Text-Cには、ファイルとメール操作のユニットが用意されています。
| ID_MBXFD | MBXユニットと組み合わせてファイル削除やコピー |
| ID_EMAILS | E-Mailアドレスリストの操作 |
| ID_MAILSR | メールの送受信 |
| ID_ADRBK | アドレス帳の操作 |
| ID_ASAVE | 自動保存 |
| ID_WEB | Webページの受信 |
| ID_URL | URLアドレスの操作 |