Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

uipushtool

ツール バーにプッシュ ツールを作成

説明

pt = uipushtool は、現在の Figure のツール バーにプッシュ ツールを作成し、PushTool オブジェクトを返します。

現在の Figure は関数 figure で作成されたものでなければなりません。現在の Figure が子ツール バーを持たない場合、MATLAB® は親として機能する現在の Figure にこれを作成します。関数 figure を使用して作成された Figure が存在しない場合、MATLAB はこれを作成して関数 uitoolbar を呼び出し、親として機能するツール バーを作成します。

プッシュ ツールは、プッシュ ボタンと同じように動作します。クリックすると、マウス ボタンが離れるまで押し下げられたままになります。

pt = uipushtool(parent) は、指定した親ツール バーにプッシュ ツールを作成します。

pt = uipushtool(___,Name,Value) は、1 つ以上の名前と値のペアの引数を使用して指定されたプロパティ値をもつプッシュ ツールを作成します。前述の構文のいずれかを使用して、名前と値のペアを指定します。

すべて折りたたむ

関数 uifigure を呼び出して UI figure を作成します。UI figure にツール バーを作成します。

fig = uifigure;
tb = uitoolbar(fig);

UI figure with an empty toolbar.

ツール バーにプッシュ ツールを追加します。プッシュ ツールには既定のアイコンが表示されます。

pt = uipushtool(tb);

UI figure that displays a toolbar and a push tool with the default icon.

インデックス付きイメージ ファイル greencircleicon.gif から新しいアイコンを読み取ります。インデックス付きイメージを RGB トゥルーカラー イメージ配列に変換します。トゥルーカラー イメージ配列に CData プロパティを設定し、アイコンをプッシュ ツールに追加します。

[img,map] = imread(fullfile(matlabroot,...
            'toolbox','matlab','icons','greencircleicon.gif'));
ptImage = ind2rgb(img,map);

pt.CData = ptImage;

UI figure that displays a toolbar and a push tool with a green circle icon.

関数 figure を呼び出し、Figure を作成します。Figure にツール バーを追加します。Figure の既定のツール バーの下に表示されます。

f = figure;
tb = uitoolbar(f);

Figure that displays the default toolbar and another empty toolbar below it.

ツール バー内にプッシュ ツールを作成します。インデックス付きイメージ ファイル matlabicon.gif から新しいアイコンを読み取ります。インデックス付きイメージを RGB トゥルーカラー イメージ配列に変換します。トゥルーカラー イメージ配列に CData プロパティを設定し、アイコンをプッシュ ツールに追加します。

pt = uipushtool(tb);

[img,map] = imread(fullfile(matlabroot,...
            'toolbox','matlab','icons','matlabicon.gif'));
ptImage = ind2rgb(img,map);

pt.CData = ptImage;

Figure that displays the default toolbar and another toolbar below it that contains a push tool with the MathWorks logo.

プッシュ ツールを Figure の既定のツール バーに追加して、既定のツール バーを変更します。

関数 figure を呼び出し、Figure を作成します。

f = figure;

Figure with the default toolbar.

Figure の中にあり、タイプが 'uitoolbar' であるオブジェクトをすべて検索し、既存のツール バーのハンドルを取得します。

defaultToolbar = findall(f,'Type','uitoolbar')
defaultToolbar = 

  Toolbar (FigureToolBar) with properties:

    Children: [0×0 GraphicsPlaceholder]

既存のツール バーにプッシュ ツールを作成します。そのアイコンとして、ランダムな RGB 値の 16 x 16 x 3 の配列を作成します。この配列に CData プロパティを設定し、アイコンをプッシュ ツールに追加します。

pt = uipushtool(defaultToolbar);
ptImage = rand(16,16,3);
pt.CData = ptImage;

Figure with a custom push tool added as the right-most icon in the default toolbar.

クリックすると、uisetcolor ダイアログ ボックスを開くプッシュ ツールを作成します。UI figure の背景色をカラー ピッカーで選択した色に変更します。

まず、colorPickerPushTool.m というプログラム ファイルを作成します。プログラム ファイル内で次を行います。

  • UI figure を作成します。

  • UI figure にツール バーを作成します。

  • インデックス付きイメージ ファイル paintbrush.gif から、カラー ピッカーに適したアイコンを読み取ります。インデックス付きイメージを RGB トゥルーカラー イメージ配列に変換します。

  • ツール バーにプッシュ ツールを作成し、トゥルーカラー イメージ配列に CData プロパティを設定してアイコンをプッシュ ツールに追加します。

  • プッシュ ツールのツールヒントを作成します。

  • colorToolClicked というコールバック関数を参照する ClickedCallback プロパティを関数ハンドルに設定します。

  • colorToolClicked というコールバック関数を作成します。そこで、関数 uisetcolor を呼び出して、ツール バーのプッシュ ツールをクリックするとカラー ピッカー ダイアログが開くようにします。カラー ピッカーの既定の色を UI figure の色に設定し、カラー ピッカーのタイトルに 'Select UI Figure Color' と指定します。UI figure を現在の Figure にします。これにより、他のすべての Figure の上に表示されるようになります。

function colorPickerPushTool
fig = uifigure('Position',[350 500 400 300]);
tb = uitoolbar(fig);

[img,map] = imread(fullfile(matlabroot,...
            'toolbox','matlab','icons','paintbrush.gif'));
ptImage = ind2rgb(img,map);

pt = uipushtool(tb);
pt.CData = ptImage;
pt.Tooltip = 'Change UI Figure Color';
pt.ClickedCallback = @colorToolClicked;

    function colorToolClicked(src,event)
        c = uisetcolor(fig,'Select UI Figure Color');
        figure(fig)
    end

end

colorPickerPushTool を実行します。プッシュ ツールをクリックしてカラー ピッカーを開きます。次に、色を選択して UI figure の背景色を変更します。

colorPickerPushTool

UI figure that displays a paintbrush icon in a toolbar push tool. The color picker dialog box displays to the right of the UI figure.

入力引数

すべて折りたたむ

親ツール バー。Toolbar オブジェクトとして指定します。このプロパティを使用して、プッシュ ツールの作成時に親ツール バーを指定したり、既存のツールを別のツール バーに移動したりします。

親ツール バーが指定されていない場合、MATLAB はプッシュ ツールを現在の Figure のツール バーに作成します。現在の Figure は関数 figure で作成されたものでなければなりません。現在の Figure に子ツール バーがない場合、MATLAB は親として機能する現在の Figure にこれを作成します。MATLAB は、Figure の既定のツール バーにプッシュ ツールを作成しません。

関数 figure を使用して作成された Figure が存在しない場合、MATLAB はこれを作成して関数 uitoolbar を呼び出し、親として機能するツール バーを作成します。

複数のプッシュ ツールまたはトグル ツールをツール バーに追加した場合、作成した順に左から右に追加されます。

名前と値のペアの引数

オプションの Name,Value の引数ペアをコンマ区切りで指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順序で指定できます。

例: 'Separator','on' は区切りのライン モードを 'on' に設定します。

メモ

ここでは、プロパティの一部だけを紹介しています。完全な一覧については、PushTool のプロパティを参照してください。

イメージ配列。m x n x 3 のトゥルーカラー イメージ配列として指定します。配列の値は以下のいずれかになります。

  • 0.01.0 の倍精度値

  • 0255uint8

イメージがクリップされたり歪みが発生するのを避けるため、m および n が 16 以下の配列を指定します。イメージがクリップされると、配列の中央の 16 x 16 の部分のみが使用されます。

データ型: double | uint8

区切りのライン モード。'off' または 'on'、もしくは数値または logical 0 (false) または 1 (true) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

このプロパティを 'on' に設定すると、ツール バーのツールの左に境界線が描画されます。

ヒント

  • Toolbar オブジェクト (およびその子 PushTool オブジェクトおよび ToggleTool オブジェクト) は、WindowStyle プロパティが 'modal' に設定されている Figure には表示されません。ツール バーの子を含む Figure の WindowStyle'modal' に変更された場合、ツール バーの子は Figure の Children プロパティに依然として存在します。ただし、WindowStyle'modal' に設定されている間、このツール バーは表示されません。

  • UIControl プッシュ ボタンと異なり、プッシュ ツールは 2 回目のクリックで Figure の SelectionType プロパティを 'open' に設定しません。

R2006a より前に導入