戻る

1.ダイアログ・コントロール


 DrDialogでは、全てのウィンドウがダイアログ・ウィンドウという事のようですが、そのスタイルは殆ど標準ウィンドウと同じものが使用可能です。複数のダイアログを含む場合の親子関係はIDで決まり、IDの最も若いものが親となります。

1-1.コントロール・スタイル

 以下にマウスの右ボタンで表示されるポップアップメニューから指定できるデフォルトのスタイルを示します。     ダイアログ・リソースのロード/メモリ割り振り指定
Preload
 ダイアログ・リソースを起動時に全てロードする。
Moveable
 ダイアログ・リソースを必要に応じてメモリー内で移動する。
Discardable
 不必要となったダイアログ・リソースを破棄する事をシステムに許可する。
    ダイアログ位置の基準点の指定
Window
 ダイアログの位置指定を、所有者ウィンドウの原点からの相対位置とする。
Screen
 ダイアログの位置指定を、画面の左上隅からの相対位置とする。
Mouse
 ダイアログの位置指定を、ウィンドウ生成時のマウスポインターの位置からの相対位置とする。
    ダイアログの枠(ボーダー)の表示形式の指定
Dialog
 標準ダイアログ形式のボーダーを表示。(立体表示)
Thin
 細いボーダーを表示。(非立体形式表示)。
Sizing
 サイズ変更可能形式のボーダーを表示。(立体表示)
None
 ボーダー無し。(非立体表示)
    ダイアログに付加される基本的なコントロールの指定
Titlebar
 タイトルバーを付加する。
Min button
 最小化ボタンを付加する。
Max button
 最大化ボタンを付加する。
System menu
 システムメニューを付加する。
Vertical scroll bar
 垂直スクロールバーを付加する。
Horizontal scroll bar
 水平スクロールバーを付加する。
    ダイアログボックスのスタイルの指定
Visible
 ダイアログを作成と同時に可視状態に指定する。
Disabled
 ダイアログを使用禁止状態に指定する。
Save bits
 ダイアログの背面で隠れている部分の画面イメージを
保管する。
Sync paint
 ダイアログの一部が無効になった場合、すぐに再描画
を行う。
System modal
 ダイアログをシステム・モーダル形式に指定する。
No byte align
 ダイアログ表示位置の最適化を行わない。
No move with owner
 所有者が移動してもダイアログは移動しない。
DBCS status line
 日本語入力用ステータスラインを付加する。
(WarpV4では意味無し)

1-2.取得イベント

 ダイアログの動作は、何等かのイベントが発生した場合にそれぞれのイベントに対応したコードの実行という形で行われます。イベントに対してコードが指定されていない場合は、そのイベントに対しての動作は行われません。
 以下にダイアログ・コントロールの取得可能なイベントを示します。

取得イベント
Init プログラムの初期化時に発生。最も優先される。
Open ダイアログがオープンする際に発生。Initの後で実行される。
Exit ダイアログをクローズする際に発生。
Timer Timer関数によって指定された時間間隔で発生。
Move ダイアログを移動させた場合に発生。
Size ダイアログのサイズを変更した場合に発生。
Key キー操作を行った場合に発生。その際の取得可能データは以下の通り。
EventData.1 キーの名前
EventData.2 キーのクラス
EventData.3 シフトキー等のコンビネーションキーの名前
EventData.4 Altキーが押されていれば1、それ以外は0
EventData.5 Ctrlキーが押されていれば1、それ以外は0
EventData.6 Shiftキーが押されていれば1、それ以外は0
ShowMenu マウスの右ボタンによるメニューの表示要求で発生
Notify 別のプログラムが本ダイアログに告知する事によって発生
GetFocus ダイアログが入力フォーカスを得た場合に発生
LoseFocus ダイアログが入力フォーカスを失った場合に発生
Any ダイアログでハンドリングされないイベントによって発生

1-3.ウィンドウ・ファンクション

 各々のコントロールには、そのコントロールを操作する為の専用のファンクションが用意されています。以下にダイアログ・コントロールにて使用可能なファンクションを示します。
Open新しいダイアログをオープンします。
rc = Dialog.Open( [alias][, registeredName] ["Modal" | "Nonmodal"] )
Modal:モーダル・ダイアログを指定します。
Nonmodal:非モーダル・ダイアログを指定します。
Frameダイアログのフレームサイズを取得します。
result = Dialog.Frame()
Closeダイアログをクローズします。
rc = Dialog.Close()
Timerタイマーをスタート/ストップします。
rc = Dialog.Timer( [interval] )
Ownerダイアログのオーナーを取得/設定します。
oldOwner = Dialog.Owner( [newOwner] )
Textタイトルバーのテキストを取得/設定します。
oldTitle = Dialog.Text( [newTitle] )
Styleダイアログのスタイルマスクを取得/設定します。
oldStyle = Dialog.Style( [newStyle] )
Fontタイトルバーのフォントを取得/設定します。
oldFont = Dialog.Font( [newFont] )
Colorダイアログのカラー属性を取得/設定します。
oldColor = Dialog.Color( [attribute [, newColor]] )
attribute(+:前景, -:背景, A:アクティブ, |:非アクティブ, H:ハイライト, D:ディセーブル, T:テキスト, M:メニュー, B:ボーダー)
Color("#index"か、"#red green blue"の形式が使用可能。RGBは0~255で指定)
  • アクティブ・テキストの前景色を黒にする場合
    oldColor = Dialog.Control.Color("AT+", "#0 0 0")
IDダイアログのウィンドウIDを取得します。
id = Dialog.ID()
Positionダイアログの位置とサイズを取得/設定します。
result = Dialog.Position( [x [, y [, dx [, dy] ] ] ] )
x:X座標, y:Y座標, dx:幅, dy:高さ
Visibleダイアログの可視属性を取得/設定します。
oldState = Dialog.Visible( [newState] )
State(0:不可視,1:可視)
Enabledダイアログの活動状態を取得/設定します。
oldState = Dialog.Enabled( [newState] )
State(0:Disabled,1:Enabled)
Hideダイアログを非表示状態にします。
CALL Dialog.Hide ["Update" | "Noupdate"]
Update:直ちに非表示状態にします。(デフォルト)
Moupdate:非表示にはしませんが、Showコマンドが使われるまで更新を抑制します。
Showダイアログを表示状態にします。
CALL Dialog.Show
Topダイアログを最前面に移動します。
CALL Dialog.Top
Bottomダイアログを最背面に移動します。
CALL Dialog.Bottom
Enableダイアログを活動状態にします。
CALL Dialog.Enable
Disableダイアログを非活動状態にします。
CALL Dialog.Disable
Focusダイアログに入力フォーカスを与えます。
CALL Dialog.Focus
IsDefaultダイアログを現在のデフォルトにします。
CALL Dialog.IsDefault ["Object" | "Say"]
Object:ダイアログを現在のデフォルトにします。
Say:ダイアログをSAYコマンドの出力先に指定します。
Dialoghint:ダイアログを各ダイアログに定義されたヒントの出力先に指定します。
Controlhint:ダイアログを各コントロールに定義されたヒントの出力先にします。
Controls全てのコントロールのリストを取得します。
CALL Dialog.Controls [stem]
Classes全てのコントロール・クラスのリストを取得します。
CALL Dialog.Classes [stem]

戻る