戻る


SUBJ:【不定期連載】LHAPI入門 2  この連載は、HP100/200LX(以下100LXと表記)の内蔵インターフェース ルーチンであるLHAPIの入門です。  第一回の予告では基本クラスの実装方法と基本的なメッセージの使い方 について説明することになっていましたが、変更して基本クラスの説明を します。 ============ ここから ============= 3 基本クラス  各基本クラスを以下に列挙します。  但し、各基本クラスが所属する分類については、資料によって異なって いますので、流動的なものであると考えて下さい。 ・Object Class   他の総てのクラスはObjectクラスのサブクラスです。   各クラスに必須の共通機能(作成、削除、ACTIVE化等)を提供します。 ・Dialog Control Classes  ・Edit   箱(box)に囲まれた文字編集が可能な領域を提供するクラスです。   テキストはスクロール可能であり、Cut, Copy等の編集機能が使用でき   ます。Editクラスでの編集は1行に限ります。  ・RadioButton   ラジオボタンを提供するクラスです。   ラジオボタンとは文字列の前方に表示される丸が表示されたものであり   選択されると丸の中に黒丸が表示されます。ラジオボタンは複数を排他   に使います。   GroupBoxを親ウィンドウに指定することにより、グループを形成して   自動的にグループ内を排他とすることが出来ます。  ・ListBox   選択肢のリストを提供するクラスです。   選択肢は縦並びに表示され、一度に一つだけ選択できます。   CUA標準のドロップダウンリストはComboBoxクラスが該当し、ListBox   クラスでは取り扱いません。  ・ComboBox   ドロップダウンするListBoxと選択した項目用の編集領域の組み合わせを   提供するクラスです。   ユーザーが[ALT+↓]を入力することによりドロップダウンします。   CUA標準のドロップダウンリストのように、編集領域で編集できない   (項目の文字列を変更できない)設定も可能です。   ComboBoxクラスはListBoxの子ウィンドウを持った、Editクラスのサブ   クラスです。  ・CheckBox   0か1かの選択肢(boolean)を提供するクラスです。   タイトルの左に箱が表示され、選択されると箱の中に×が表示されます。  ・StaticText   文字のラベルを提供するクラスです。   編集可能な領域以外の画面上の文字列に使われます。但し、他のクラス   の多くは自分自身のラベル(タイトル)を持っています。  ・GroupBox   同種の項目を視覚的にグループ化するために画面上の領域を覆うラベル   付きの箱を提供するクラスです。   RadioButtonが正常に(排他に)動作する為に、GroupBoxに覆われた領域   の項目はGroupBoxの子ウィンドウにするべきです。   GroupBoxクラスはStaticRectクラスのサブクラスです。  ・StaticRect   影を付けられる四角(rectangle)を提供するクラスです。   GroupBoxクラスを必要としないようなダイアログでの区切りに使用します。  ・PushButton *   動作等の意味を持つことの出来るボタンを提供するクラスです。 ・Special Purpose Classes  ・DateEdit   日付を入力する領域を提供するクラスです。   Editクラスのサブクラスです。  ・TimeEdit   時刻を入力する領域を提供するクラスです。   Editクラスのサブクラスです。  ・DirListBox   ディスクのディレクトリツリーを知るためのListBoxを提供するクラス   です。   ディレクトリのリストをソートして表示します。   FileOpenDialogBox等でファイルを選択するためのディレクトリの選択に   使用します。   ListBoxクラスのサブクラスです。   ・FileListBox   カレントディレクトリ内のファイルツリーを知るためのListBoxを提供   するクラスです。   ファイルのリストをソートして表示します。   FileOpenDialogBox等でファイルを選択するために使用します。   ListBoxクラスのサブクラスです。   ・PathEdit   オープンするファイルのパス(あるいは検索の為のデフォルトエントリ)   を入力する領域を提供するクラスです。   FileOpenDialogBoxで使用され、Editのサブクラスです。  ・TitleBar   画面の上部の表示されるアプリケーションのタイトルやステータス、   システム時刻等を含んだテキストの行を提供するクラスです。  ・DateTime *   システム日付や時刻を含む文字列を提供するクラスです。   TitleBarで使用されます。  ・ProgressMeter *   "percentage done"の箱を提供するクラスです。 ・Menu Classes  ・MenuBar   アプリケーションのTileBarの下に現れるトップレベルのメニューを   提供するクラスです。   ユーザーがトップレベルの項目を選択すると、MenuBarはMenuPopdown   を生成します。  ・MenuPopdown   MenuBarの下にポップダウンした垂直方向のMenuを提供するクラスです。   より深いMenuが存在する場合は、Menu項目の右側に印が付き、右側に   Menuがポップします。   Menuの階層は3層までで、MenuBarが一つとMenuPopdownが二つです。 ・High Level Classes  ・DialogBox   画面上にポップアップする情報入力用の箱を提供するクラスです。   ユーザーに情報を求めることをプログラムが求めた場合に使用します。   項目の選択、情報の入力にCUA標準の入力方式を採用しています。   DialogBox内の項目はDialogBoxの子ウィンドウです。  ・MessageBox   任意の状態でユーザーに警告や注意を与えるポップアップする箱を提供   するクラスです。   殆どの場合はエラーメッセージですが、確認や情報の場合もあります。   massageBoxとDialogBoxの外見は同じです(影付きの黒枠、ウィンドウの   上部にタイトル、選択時にタイトルが反転)。MessageBoxの場合は、   ウィンドウ内部に複数の文字列だけが存在します。  ・MultiEdit   複数行のエディタを提供するクラスです。   Editクラスと同様の動作をしますが、複数行を取り扱え、ユーザーは   行の間を移動できます。  ・FileOpenDialogBox   FileOpenに使用するCUA標準のDialogBoxを提供するクラスです。   リストによるファイルやディレクトリの選択、直接入力、ワイルドカード   をサポートします。   DialogBoxクラスのサブクラスです。  クラス名の後に * が付いているクラスは、詳しい資料が入手できていま せんので、詳細は不明です。 ============ ここまで =============  主に時間的制約により、サンプルプログラムがなかなか出来あがりません ので、資料性の高い回になりました。  私の英語読解能力は低いですので、誤解している部分も多々あると思います が、追々訂正していきます。 (^^;)  次回は、前回予定した基本クラスの実装方法と基本的なメッセージの使い方 か、LHAPIを使用する上で必要な構造体について説明します。  また、総てのクラスを一度に使ったサンプルは難しいですので、小さな サンプルをいくつか作る方向に変更します。  ごく単純にMenuとDialogBoxを使った程度のサンプルでしたら既にあります ので、これを近日中に公開します。  質問、要望等は大歓迎ですので、気軽にお寄せ下さい。   書くのは半日ですが読むのは5分でしょうね (T_T)    JCG00070 Brahma でした

戻る

All contents and programs Copyright 1996,97,98 (C) by Masaki " Brahma " Tsumori all rights reserved.