iconbutton(アイコンボタン)を使うと、画像ファイルを押しボタンとして表示することができます。
たくさんのボタンを作らなくてはならないときなどには、ボタンに画像を表示することでその役割が認識しやすくなる効果があります。
目次
種類
iconbuttonコントロール
クラス名:IconButton
機能
画像ファイルを押しボタンとして表示する。
ボタンの外観は、周囲が盛り上がった3D外観(デフォルト)と、周囲の境界線のない外観の2種類。
ボタンをクリックしたときの動きは、ボタンからマウスを離すともとに戻る形式(デフォルト)と、クリックするたびにボタンのon/offが切り替わるトグル状の2種類。
構文
ウインドウwにアイコンボタンを作成する。
w.add ("iconbutton"[, bounds, icon, {creation_properties}]);
- bounds
- オプション。iconbuttonコントロールの位置とサイズ。
- icon
- オプション。表示するアイコンのファイルパス、またはFileオブジェクト。画像ファイルはpng形式。
- creation_properties
- オプション。 設定できる内容は以下。
- name
- このiconbuttonの一意の名前
- style
- 外観を指定する文字列。
button : 盛り上がった3Dの境界線をもつ外観(デフォルト)
toolbutton : 境界線のないフラットな外観 - toggle
- クリックされたときの外観。
true : クリックするたびにボタンのon/offが切り替わるトグル状
false : ボタンを押している間だけonの外観になる(デフォルト)
サンプルコードと実行結果
ダイアログ作成後、アイコンボタンを表示する(外観はデフォルト形式)。
// ダイアログ作成
var objDlg = new Window ("dialog", "アイコンボタン", [0,0,250,250]);
// アイコンボタンを追加
var objIb = objDlg.add("iconbutton", [20,20,200,200], "(ファイルのパス)/riptin.png");
// ダイアログを画面センターに表示
objDlg.center();
objDlg.show();


次の例では、アイコンボタンの形状を ”toolbutton”、動作を ”toggle” としています。
var objIb = objDlg.add("iconbutton", [20,20,200,200], "(ファイルのパス)/riptin.png", {style:"toolbutton", toggle:true});


サンプルコードでは、iconbuttonを作成する際に、ファイルのパスを直接指定しました。パスの区切りは、”/” (スラッシュ)です。
ファイルは、以下のようにファイルオブジェクトで指定することもできます。
// アイコンボタンを追加
var objFile = new File("(ファイルのパス)/riptin.png");
var objIb = objDlg.add("iconbutton", [20,20,200,200], objFile);