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.

Icon プロパティの値をイメージ ファイル greencircleicon.gif に設定して、プッシュ ツールにアイコンを追加します。

pt.Icon = fullfile(matlabroot,'toolbox','matlab','icons','greencircleicon.gif');

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×16×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 にツール バーを作成します。

  • ツール バー内にプッシュ ツールを作成します。

  • Icon プロパティの値を paintbrush.gif のフル ファイル パスに設定して、プッシュ ツールに適切なアイコンを追加します。

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

  • 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);

pt = uipushtool(tb);
pt.Icon = fullfile(matlabroot,'toolbox','matlab','icons','paintbrush.gif');
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 を呼び出し、親として機能するツール バーを作成します。

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

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name を引用符で囲みます。

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

メモ

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

アイコンのソースまたはファイル。文字ベクトル、string スカラー、または m×n×3 のトゥルーカラー イメージ配列として指定します。文字ベクトルまたは string スカラーには、MATLAB パス上のイメージ ファイル名、あるいはイメージ ファイルへの絶対パスを指定できます。他のユーザーとアプリを共有する予定の場合は、アプリのパッケージ化を容易にするためにイメージ ファイルを MATLAB パス上に配置します。サポートされるイメージの形式には JPEG、PNG、GIF、および SVG があります。

m×n×3 の配列を指定すると、トゥルーカラー イメージ配列として解釈されます。トゥルーカラー イメージ配列の詳細については、イメージの種類を参照してください。

指定するイメージが 16×16 ピクセルよりも大きい場合、Icon プロパティはそのイメージをスケール ダウンしてツール内に収まるようにします。指定するイメージが 16×16 ピクセルよりも小さい場合、使用できるスペースに合わせるスケール アップは行われません。

Icon プロパティは App Designer と uifigure ベースのアプリでのみサポートされます。Icon プロパティと CData プロパティが共に指定されている場合、CData プロパティは無視されます。

例: 'icon.png' は MATLAB パス上のイメージ ファイルを指定します。

例: 'C:\Documents\icon.png' は、イメージ ファイルへの絶対パスを指定します。

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

  • 0.01.0 の倍精度値

  • 0255uint8

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

メモ

App Designer および uifigure ベースのアプリでは、代わりに Icon プロパティを使用してプッシュ ツールとトグル ツールのアイコンを指定します。

区切りのライン モード。'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 より前に導入

すべて展開する