Tech Note 28: DialogX 1.0

パワフルなダイアログボックスを構築するコントロール

Mar 12, 2003

© NSB Corporation. All rights reserved.

Go to English page.

NS Basic is (c) NS Basic Corporation
Windows CE is (c) Microsoft Corporation

DialogXは、NS Basic/CEユーザにカスタムダイアログボックスの作成を可能にしたActiveXコントロールです。

DialogXはモーダルモードとパッシブモードのダイアログを作ります。モーダルモードのダイアログを使った場合、ユーザがダイアログを閉じるまでプログラムの実行は待ち状態になります。パッシブモードのダイアログを使った場合、ダイアログが開いている間、プログラムは止まり、ダイアログはそれが開いている間はプログラムによって変更できません。

DialogXのシンタックスはNS Basic/CEと似ています。オブジェクトはAddObjectコマンドによって追加します。オブジェクトのリストはNS Basic/CEのオリジナルのオブジェクトのリストと似ています。

さらに、これらが含まれます。

多くの一般的なオブジェクトのプロパティは、DialogXメソッドで同じ名前を使ってセットできます。また、DialogXは新しいプロパティをサポートしています。これらのオブジェクトを使うと、あなたのプログラムのユーザインターフェースを向上させる、パワフルで柔軟なダイアログを作成できます。DialogXを使うには5つのステップを踏みます。

  1. 作成
  2. オブジェクトの追加と設定
  3. (必要であれば)デフォルト値のセット
  4. (必要であれば)DoModalでダイアログを開く
  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と等しいです。

ダウンロード

DialogX.exe

インストール

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が開く時に、指定した標準システムサウンドを再生する。
  • vbCRITICAL
  • vbQUESTION
  • vbEXCLAMATION
  • vbINFORMATION
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
注:SpinCtrlはそれが制御するTextBoxのすぐ後に追加しなければならない。

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の整列方法をセットする。
0
1
2 中央
"Center"はOptionButton、CheckBox、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オブジェクトをセットする。
0 ミックス
1 小文字
2 大文字
SetDirection ObjectName (Text), 0|1|2 Sliderオブジェクトのサムコントロールポイントの方向をセットする。
0 両方
1 左/上
2 右/下
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オブジェクトにスクロールバーを追加するか、それらから抜き取る。
0 無し
1 水平
2 垂直
3 水平と垂直
SetShowTicks ObjectName (Text), TRUE|FALSE Sliderオブジェクトの刻みを見せるようにセットする。
SetSorted ObjectName (Text), TRUE|FALSE ListBoxとComboBoxリストを自動的にアルファベット順にソートするようにセットする。
SetStyle ObjectName (Text), 0|2 ComboBoxを読込み専用に設定。
0 入力を許容
2 読込みのみ
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   バージョン。テキスト値を返す。

Change Log

10/12/99: SetScrollbars corrected. 02/13/00: Additional changes to Scrollbar logic