Main Content

setpixelposition

コンポーネントの位置をピクセル単位で設定

    説明

    メモ

    関数 setpixelposition は、App Designer 内または関数 uifigure を使用して作成されたアプリ内ではサポートされません。コンポーネントの位置をピクセル単位で設定するには、その代わりに Units プロパティを 'pixels' に設定してから、Position プロパティを使用して位置を設定します。

    pos = setpixelposition(c,position) は、c で指定されたコンポーネントの位置をピクセル単位で設定します。その位置を、親コンテナーを基準とするコンポーネントの位置とサイズを示す 4 要素ベクトルとして [left bottom width height] の形式で指定します。

    pos = setpixelposition(c,position,isrecursive) は、isrecursivetrue の場合、親 Figure を基準とするコンポーネントの位置を設定します。isrecursive の既定値は false であり、直接の親コンテナーを基準とする位置を設定します。

    すべて折りたたむ

    パネル コンテナー内にプッシュ ボタンを作成します。

    f = figure('Position',[300 300 300 200]);
    p = uipanel('Position',[.2 .2 .6 .6]);
    btn = uicontrol(p,'Style','PushButton', ...
         'Units','Normalized', ...
         'String','Push Button', ...
         'Position',[.1 .1 .5 .2]);

    Push button in a panel in a figure window

    パネルを基準とするプッシュ ボタンの位置をピクセル単位で取得します。位置ベクトルを 10 ピクセル分右上に移動し、幅と高さを 25 ピクセル分増やして位置ベクトルを更新します。更新された位置ベクトルを使用して、パネル内のプッシュ ボタンの位置を設定します。

    pos = getpixelposition(btn);
    newpos = pos + [10 10 25 25];
    setpixelposition(btn,newpos);

    Push button with updated size in a panel in a figure window. The button is taller and wider than when it was originally created, and is further away from the bottom-left corner of the panel that it is in.

    親コンテナーを移動した後のボタンの位置を維持するには、Figure ウィンドウを基準とするプッシュ ボタンの位置を更新します。

    パネル コンテナー内にプッシュ ボタンを作成します。

    f = figure('Position',[300 300 300 200]);
    p = uipanel('Position',[.2 .2 .6 .6]);
    btn = uicontrol(p,'Style','PushButton', ...
         'Units','Normalized', ...
         'String','Push Button', ...
         'Position',[.1 .1 .5 .2]);

    Push button in a panel in a figure window

    Figure ウィンドウを基準とするプッシュ ボタンの位置をピクセル単位で取得し、pos に保存します。

    pos = getpixelposition(btn,true)
    pos =
    
       80.6000   54.6000   88.0000   23.2000

    パネルの位置を更新します。プッシュ ボタンの位置は親を基準にしているため、この変更によってプッシュ ボタンの位置も変わります。

    p.Position = [.1 .1 .8 .8];

    Push button in a panel with updated size. Both the panel and the button are taller and wider than when they were originally created.

    更新したパネルの位置を維持したまま、ボタンを元の位置にリセットするには、Figure ウィンドウを基準にしてプッシュ ボタンの位置を設定します。

    setpixelposition(btn,pos,true);

    Push button in a panel. The button is the same size as when it was originally created.

    入力引数

    すべて折りたたむ

    UI コンポーネント。

    コンポーネントの新しい位置 (ピクセル単位)。[left bottom width height] の形式のベクトルとして指定します。ベクトルの left 要素と bottom 要素の基準は、isrecursive の値に応じて、直接の親コンテナーまたは親 Figure です。次の表で、ベクトルの各要素について説明します。

    要素説明
    left親の内側左端から UI コンポーネントの外側左端までの距離
    bottom親コンテナーの内側下端から UI コンポーネントの外側下端までの距離
    widthUI コンポーネントの外側の左右の端の間の距離
    heightUI コンポーネントの外側の上下の端の間の距離

    親 Figure を基準とする位置を設定するかどうか。数値または logical 0 (false) または 1 (true) として指定します。

    • 0 (false) — 関数は、直接の親を基準とするコンポーネントの位置を設定します。

    • 1 (true) — 関数は、親 Figure ウィンドウを基準とするコンポーネントの位置を設定します。

    詳細

    すべて折りたたむ

    ピクセル

    Windows® および Macintosh システムでのピクセル単位の距離は、システムの解像度に依存しません。

    • Windows システムの場合、MATLAB® はピクセルを 1/96 インチとして定義します。

    • Macintosh システムの場合、MATLAB はピクセルを 1/72 インチとして定義します。

    Linux® システムの場合、システムの解像度によって MATLAB ピクセルのサイズが決定します。詳細については、MATLAB での DPI 対応の動作を参照してください。

    バージョン履歴

    R2007a で導入