|
Tech Note 28: DialogX 1.0パワフルなダイアログボックスを構築するコントロールMar 12, 2003© NSB Corporation. All rights reserved. |
Go to English page.
NS Basic is (c) NS Basic CorporationDialogXは、NS Basic/CEユーザにカスタムダイアログボックスの作成を可能にしたActiveXコントロールです。
DialogXはモーダルモードとパッシブモードのダイアログを作ります。モーダルモードのダイアログを使った場合、ユーザがダイアログを閉じるまでプログラムの実行は待ち状態になります。パッシブモードのダイアログを使った場合、ダイアログが開いている間、プログラムは止まり、ダイアログはそれが開いている間はプログラムによって変更できません。
DialogXのシンタックスはNS Basic/CEと似ています。オブジェクトはAddObjectコマンドによって追加します。オブジェクトのリストはNS Basic/CEのオリジナルのオブジェクトのリストと似ています。
多くの一般的なオブジェクトのプロパティは、DialogXメソッドで同じ名前を使ってセットできます。また、DialogXは新しいプロパティをサポートしています。これらのオブジェクトを使うと、あなたのプログラムのユーザインターフェースを向上させる、パワフルで柔軟なダイアログを作成できます。DialogXを使うには5つのステップを踏みます。
注:NSBasic/CEのINPUTBOXファンクションをシミュレーションする、DialogXのInputBoxメソッドもあります。ダイアログはPalm-Size PCのスクリーンにぴったり合って開きます。
全ての寸法と座標はDialog Template Units (DTU)で表します。DTUはDialogXの指定されたフォントに比例しています。小さいフォントサイズは、同じWidth(幅)とHeight(高さ)を持った小さなDialogXを作成します。
Dialog Base Units (DBU)は、ダイアログのフォントを使った文字の平均幅と平均高です。各水平DBUは、4つの水平DTUと等しく、各垂直DBUは、8つの垂直DTUと等しいです。
NS Basic/CE 3.01以降を使用している場合、DialogXはNS Basic/CEのインストールの際、一緒にインストールされます。あなたのプログラムがコントロールを見つけられない時は、コントロールを登録する必要があるかもしれません。このNS Basic/CEのステートメントを使うと登録できます。
shellexecute "open","regsvrce.exe","dialogx.ocx"
AddObject "NSBasic.DialogX.1", "Name"
Starting with Rev 3.01, you can simply do
AddObject "DialogX", "Name"
プロパティ | ||
---|---|---|
名前 | 値 | 内容 |
CaptionClose | TRUE|FALSE | クローズボックス"X"をDialogXに追加 |
CaptionOK | TRUE|FALSE | OKボタンをDialogXに追加 |
FontName | Text (Default: System Font) | DialogXアイテムに使われるフォント名を設定 |
FontSize | Number (Default: 9) | DialogXアイテムに使われるフォントサイズを設定 |
Height | Number (Default: 100) | DialogXの高さを設定 (DTU) |
HelpFile | FileName (Text) | "?"と一緒にDialogXを表示する。"?"をクリックすると与えられたヘルプを開く。正しいパスが使われない場合、\Windowsからファイルが開かれる。 |
SystemSound | Number | DialogXが開く時に、指定した標準システムサウンドを再生する。
|
Tag | Expression | このプロパティはDialogXによって使われない。有効式を使ってこのプロパティをセットする。 |
Title | Text | DialogXに表示されるタイトルをセットする。 |
VersionMajor | Read-Only | バージョン(メジャー)番号。数値が返される。 |
VersionMinor | Read-Only | バージョン(マイナー)番号。数値が返される。 |
Width | Number (Default: 160) | DialogXの幅を設定 (DTU) |
メソッド | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
名前 | パラメーター | 内容/戻り値 | ||||||||
AddItem | ObjectName (Text), Item (Text) | ListBoxとComboBoxオブジェクトにリストアイテムを追加する。 | ||||||||
AddObject | ObjectType (Text), ObjectName (Text), Left, Top, Width, Height |
DialogXにオブジェクトを追加する。寸法の指定はDBU値で行う。有効タイプ:CommandButton, TextBox, Label, ListBox, ComboBox, OptionButton, CheckBox, GroupBox, Bitmap、SpinCtrl、Slider |
||||||||
ClearList | ObjectName (Text) | ListBoxとComboBoxオブジェクトからリストアイテムを取り除く。 | ||||||||
DoModal | DialogXを表示する。戻り値:0 = Cancel、1 = OK、2... = ユーザ定義 | |||||||||
*** 注:"Get"メソッドは、DialogXが開かれ戻り値が0以外のボタンが押された時のみ、値を返します。 | ||||||||||
GetCaption | ObjectName (Text) | DialogXアイテムのテキストを返す。 | ||||||||
GetIndex | ObjectName (Text) | ListBoxとComboBoxの選択されているインデックスを返す。戻り値:数値 | ||||||||
GetValue | ObjectName (Text) |
ListBoxとComboBoxの選択されているインデックス、OptionButtonとCheckBoxのチェック状態、または、SpinCtrlとSliderのポジションを返す。OptionButtonオブジェクトの場合、SetGroupメソッドが呼ばれた後。グループの最初のボタンのみにGetValueを使う。 |
||||||||
InputBox | Prompt (Text), Title (Text), Default (Text) | NSBasicのINPUTBOXに似ていて、ほとんどのPalm-Size PCのスクリーンにフィットするダイアログを開く。ユーザが"OK"をタップするか、エンターキーをを押すと、テキストボックスからの文字列が返され、それ以外は、空の文字列("")が返される。3つの引数全てが必要。 | ||||||||
Reset | 全てのオブジェクトを取り除き、DialogXを初期化する。 | |||||||||
SetAlignment | ObjectName (Text), 0|1|2 | TextBoxとLabelのテキストの整列方法をセット、OptionButtonとCheckBoxSetsのボタン配置のセット、SpinCtrlの整列方法をセットする。
|
||||||||
SetAutoTicks | ObjectName (Text), TRUE|FALSE | Sliderオブジェクト上の刻み間隔を自動的に描く。 SetTickFrequencyも参照。 |
||||||||
SetBitmap | ObjectName (Text), Filename (*.bmp) | 指定されたパスからビットマップファイルを読込む。 | ||||||||
SetCaption | ObjectName (Text), Caption (Text) | DialogXアイテムのテキストをセットする。 | ||||||||
SetCase | ObjectName (Text), 0|1|2 | 自動的に大文字/小文字を変換するように、TextBoxオブジェクトをセットする。
|
||||||||
SetDirection | ObjectName (Text), 0|1|2 | Sliderオブジェクトのサムコントロールポイントの方向をセットする。
|
||||||||
SetEnabled | ObjectName (Text), TRUE|FALSE | オブジェクトを有効/無効(グレー)にする。 | ||||||||
SetGroup | ObjectName (Text), TRUE|FALSE |
このプロパティを使って、OptionButtonsの相互排除のグループを始める。グループの最初のOptionButtonにのみSetGroupを使う。これをセットした後は、GetValue()メソッドを使って、最初のOptionButtonからグループ値を取り、SetValue()を使って設定する。 |
||||||||
SetHBitmap | ObjectName (Text), HBITMAP | DialogXが開いてBitmapオブジェクト内に表示された時の、BITMAPへのハンドル。 | ||||||||
SetIndex | ObjectName (Text), Number | ListBoxかComboBoxの最初に選択されていたアイテムをセットする。リストは0から始まり、0は最初のアイテム、-1は何も選択されていない。 | ||||||||
SetIntegralHeight | ObjectName (Text), TRUE|FALSE | ListBoxかComboBoxオブジェクトの部分的なアイテムを隠したり見せたりするのに使う。 | ||||||||
SetMax/SetMin | ObjectName (Text), Number | SpinCtrlとSliderの範囲をセットする。デフォルト:0-100. | ||||||||
SetMaxLength | ObjectName (Text), Number | TextBoxか編集可能なComboBoxに入力できる合計文字数をセットする。 | ||||||||
SetMultiline | ObjectName (Text), TRUE|FALSE |
マルチライン・プロパティをTRUEにセットする。TextBoxオブジェクトがキャレッジリターンと複数行のテキストを許容できるようになる。 |
||||||||
SetNumbersOnly | ObjectName (Text), TRUE|FALSE | TextBoxオブジェクトが数値以外の入力を排除するようにセットする。 | ||||||||
SetPassword | ObjectName (Text), TRUE|FALSE | TextBoxの入力を修正し、パスワード文字(*)を表示させる。 | ||||||||
SetReturnValue | ObjectName (Text), Number | オブジェクトがクリック/ダブルクリック/選択された時にDoModalが返す値をセットする。 0 = Cancel, 1 = OK, 2... = ユーザ定義 デフォルトの値に戻すには、-1をセットする。 |
||||||||
SetScrollbars | ObjectName (Text), 0|1|2|3 | TextBoxかListBoxオブジェクトにスクロールバーを追加するか、それらから抜き取る。
|
||||||||
SetShowTicks | ObjectName (Text), TRUE|FALSE | Sliderオブジェクトの刻みを見せるようにセットする。 | ||||||||
SetSorted | ObjectName (Text), TRUE|FALSE | ListBoxとComboBoxリストを自動的にアルファベット順にソートするようにセットする。 | ||||||||
SetStyle | ObjectName (Text), 0|2 | ComboBoxを読込み専用に設定。
|
||||||||
SetTabStop | ObjectName (Text), TRUE|FALSE | 連鎖しているタブアイテムにオブジェクトを追加するか、オブジェクトを抜き取る。 | ||||||||
SetTickFrequency | ObjectName (Text), Number | Sliderオブジェクトの刻み間隔をセットする。デフォルト:1 | ||||||||
SetValue | ObjectName (Text), TRUE|FALSE|Number |
OptionButtonとCheckBoxのチェック状態、または、SpinCtrlとSliderのポジションをセットする。OptionButtonオブジェクトの場合、SetGroupメソッドが呼ばれた後。グループの最初のボタンのみにSetValueを使う。 |
||||||||
SetVertical | ObjectName (Text), TRUE|FALSE | SpinCtrlとSliderオブジェクトの方向を設定。 SpinCtrlのデフォルトはTRUE(垂直方向)。 SliderのデフォルトはSliderオブジェクトの形によって決まる。 |
||||||||
SetVisible | ObjectName (Text), TRUE|FALSE | DialogXアイテムを見せる/隠す。 | ||||||||
Version | バージョン。テキスト値を返す。 |