「スクリプちん」のサイトデザインをリニューアル作業中です…^^;

【ExtendScript】GUI : window(ウインドウ)

当ページのリンクには広告が含まれています。
Adobe JavaScript Reference GUI編 Windowクラス
目次

Windowクラス

グラフィカルユーザーインターフェース(GUI)を作成するためには、Windowクラスを使います。

簡単なダイアログボックスの作成

[OK]や[はい][いいえ]など、ユーザーから簡単な応答を受け取るダイアログ表示です。

alert()
ショートメッセージとOKボタンのダイアログを表示する。
confirm()
ショートメッセージと[はい][いいえ]の2つのボタンのあるダイアログを表示する。
prompt()
ユーザーのテキスト入力を返すモーダルダイアログを表示する。

Windowオブジェクトの作成

独自のGUIを作るベースとなるダイアログボックスを作ります。
各種コントロールは、このベースとなるダイアログボックスに追加していきます。

new Window (type [, title, bounds, {creation_properties}]);
type
新しく作成するウインドウのタイプを指定する。選択肢は以下の3つ。
dialog
モーダルダイアログ。
palette
モードレスダイアログ(フローティングパレットとも呼ばれる)。
Photoshop CCではサポートしていない。
window
アプリケーションのメインウィンドウとして使用できる通常のウインドウ。
Photoshop CCではサポートしていない。
title
オプション。ウィンドウのタイトルとして表示する文字列。
bounds
オプション。表示するウィンドウの位置とサイズ。
creation_properties
オプション。指定できる項目は以下。
resizeable
trueの場合、ウィンドウのサイズを変更可。 デフォルトはfalse。
su1PanelCoordinates
trueの場合、ウインドウの子パネルを自動調整する。
デフォルトはfalse。Photoshopのみ対応。
closeButton
trueの場合、タイトルバーに閉じるボタンを表示。
デフォルトはtrue。dialogには使用不可。
maximizeButton
trueの場合、タイトルバーにウインドウ最大化ボタンを表示。
デフォルトはpaletteではfalse、windowではtrue。dialogには使用不可。
minimizeButton
trueの場合、タイトルバーにウインドウ最小化またはアイコン化ボタンを表示。
デフォルトはpaletteではfalse、windowではtrue。
Mac OSでは最小化ボタンなし。dialogには使用不可
independent
trueの場合、windowのときにアプリケーションウィンドウから独立する。
Windows OSのみ。デフォルトはfalse。
borderless
trueの場合、タイトルバーや枠線を表示しない。

サンプルコードと実行結果1

newコマンドで作成した値を、オブジェクト変数wとしてインスタンス化してWindowオブジェクトを作成しています。

var w = new Window("dialog", "ダイアログのタイトル", [0,0,400,250]);
w.center();
w.show();
GUIウインドウオブジェクトの作成

サンプルコードと実行結果2

この例では、{creation_properties} のオプションを指定しています。
オプションの値は、オブジェクトリテラルとして次の形式で記述します。

{プロパティ名1:値1, プロパティ名2:値2, …}

最小化ボタンと最大化ボタンを表示します。

var objDlg = new Window("dialog", "タイトル", [0,0,400,250], {maximizeButton:true, minimizeButton:true});
objDlg.center();
objDlg.show();
GUIウインドウオブジェクト オプション指定で最小化・最大可ボタンを表示する

メソッド:Windowオブジェクトを操作する

作成したダイアログボックスにボタンやチェックボックスを配置したり、できあがったダイアログボックスを表示したりすることができます。

なかでも add() は、もっとも頻繁に使うメソッドのひとつです。

add()
新しいコントロールまたはコンテナオブジェクトを作成して返す。
addEventListener()
イベントのイベントハンドラを登録する。
center()
ウインドウを画面の中央に置く。
close()
ウインドウを閉じる。
dispatchEvent()
イベントの発生をシミュレートする。
findElement()
ウインドウまたはコントロールオブジェクトを検索して返す。
hide()
ウインドウを非表示にする。
notify()
指定されたユーザインタラクションイベントを通知する。
remove()
コントロールを削除する。
removeEventListener()
イベントハンドラの登録を解除する。
show()
ウインドウ、コンテナ、またはコントロールを表示する。
update()
表示を更新する。
あわせて読みたい
【ExtendScript】GUI : 実行画面の作り方 InDesignのDialogオブジェクトでもGUI画面を作ることはできるけど、Adobe JavaScriptだけでも簡単にダイアログ画面を表示することができます。 【サンプルコード】 var ...

プロパティ:Windowオブジェクトの情報を取得する

作成したダイアログボックス(Window)や、そのダイアログボックスにadd()で追加したコントロールの情報を取得するにはプロパティを使います。

プロパティ Window コンテナ コントロール
Panel TabbedPanel Tab Group Button CheckBox DropDownList EditText FlashPlayer IconButton Image ListBox ProgressBar RadioButton Scrollbar Slider StaticText TreeView ListItem
active            
alignChildren                              
alignment  
bounds    
cancelElement                                      
characters                                
checked                                      
children  
columns                                      
defaultElement                                      
enabled  
expanded                                      
frameBounds                                      
frameLocation                                      
frameSize                                      
graphics  
helpTip  
icon                                    
image                                    
index                                      
items                                  
itemSize                                  
jumpdelta                                      
justify                              
layout                              
location  
margins                              
maximumSize  
maxvalue                                  
minimumSize  
minvalue                                  
orientation                              
parent
preferredSize  
properties
resizeable                                      
selected                                      
selection                                
shortcutKey            
size  
spacing                              
stepdelta                                      
subitems                                      
text              
textselection                                    
title                              
titleLayout                              
type
value                              
visible  
window  
windowBounds  
プロパティ Window Panel TabbedPanel Tab Group Button CheckBox DropDownList EditText FlashPlayer IconButton Image ListBox ProgressBar RadioButton Scrollbar Slider StaticText TreeView ListItem
コンテナ コントロール

イベント:Windowオブジェクトに起こった事象を捉える

onActivate
ウインドウがアクティブになったときに呼び出される。
onClose
ウインドウを閉じる要求が行われたときに呼び出される。
onDeactivate
ウインドウが非アクティブになったときに呼び出される。
onDraw
コンテナまたはコントロールを描画しようとしたときに呼び出される。
onMove
ウインドウが移動したときに呼び出される。
onMoving
ウインドウが移動しているときに呼び出される。
onResize
ウインドウのサイズが変更されたときに呼び出される。
onResizing
ウインドウのサイズが変更されているときに呼び出される。
onShortcutKey
ウインドウのshortcutKey値と一致するショートカットキーシーケンスが入力されたときに呼び出される。
onShow
ウインドウを開くように要求されたときに呼び出される。
よかったらシェアしてね!
  • URLをコピーしました!
目次