ドキュメンテーション

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

DatePicker のプロパティ

日付ピッカーの外観と動作の制御

日付ピッカーでは、対話型カレンダーから日付を選択できます。関数 uidatepicker は日付ピッカーを作成し、必要なプロパティを設定してから表示します。日付ピッカーのプロパティ値を変更することによって、外観および動作の一部の特性を変更できます。ドット表記を使用して、特定のオブジェクトとプロパティを参照します。

uf = uifigure;
d = uidatepicker(uf);
d.DisplayFormat = 'M/d/yyyy';

日付ピッカー

すべて展開する

選択された日付。Limits プロパティの範囲内の datetime オブジェクトとして指定します。選択された日付を指定しないままにするには、このプロパティを NaT に設定します。

指定された datetime オブジェクトに時間情報が含まれている場合、日付情報のみが Value プロパティに保持されます。

例: d = uidatepicker('Value',datetime('today'))

データ型: datetime

選択の範囲。1 行 2 列の datetime 配列として指定します。この配列の 2 番目の値は最初の値より後の値でなければなりません。既定値は [datetime(0000,1,1) datetime(9999,12,31)] です。この既定値は、DatePicker がサポートする、可能な限り早い日付で始まり、可能な限り遅い日付で終わります。

実行中のアプリでは、日付ピッカーを使用して、このプロパティで定義された閉区間で日付を選択できます。区間内に無効な日付または曜日がある場合、それらの日付または曜日は除外されます。

例: d = uidatepicker('Limits',[datetime('today') datetime(2050,1,1)])

データ型: datetime

日付ピッカーのテキスト フィールドの表示形式。文字ベクトルまたは string スカラーとして指定します。既定の形式は、アプリを実行するシステムのロケールによって決まります。

指定した形式では、Unicode® ロケール データ マークアップ言語 (LDML) の日付および時刻の標準に対応する有効な文字識別子を使用しなければなりません。フィールドを区切るために、ハイフン、スペース、コロンなどの記号や ASCII 以外の文字を含めることができます。

例: d = uidatepicker('DisplayFormat','dd/MM/yy')

一般的な形式の例

次の表に一般的な表示形式を示します。ここで示す出力の例は、2014 年 4 月 9 日 (水) の日付に形式を適用したものです。

Format の値
'yyyy-MM-dd'2014-04-09
'dd/MM/yyyy'09/04/2014
'dd.MM.yyyy'09.04.2014
'yyyy年 MM月 dd日'2014年 04月 09日
'MMMM d, yyyy'4 月 9, 2014

すべての日付と時刻の形式

これらの文字識別子を使用して表示形式を作成します。この表の 3 番目の列は、2014 年 4 月 9 日 (水) の日付の出力を示します。

文字識別子説明表示
G紀元CE
y先頭に 0 を付けない表記の年。2014
yy下 2 桁表記の年。14
yyyyyyy ...'y' の個数以上の桁数を使用した年2014 年の場合、'yyy' では 2014 と表示され、'yyyyy' では 02014 と表示されます。
uuu ...年を単一の数値で表した ISO 年。2014
Q1 桁表記の四半期2
QQ2 桁表記の四半期02
QQQ省略形で表記した四半期Q2
QQQQ完全名で表記した四半期第2四半期
M1 桁または 2 桁の数値で表記した月4
MM2 桁の数値で表記した月04
MMM短縮名で表記した月4月
MMMM完全名で表記した月4月
MMMMM大文字の頭文字で表記した月A
W1 桁表記の月間通算週2
d1 桁または 2 桁表記の月間通算日9
dd2 桁表記の月間通算日09
D1 ~ 3 桁表記の年間通算日99
DD2 桁表記の年間通算日99
DDD3 桁表記の年間通算日099
e1 桁または 2 桁の数値で表記した曜日4 (週の始まりは日曜日)
ee2 桁の数値で表記した曜日04
eee短縮名で表記した曜日
eeee完全名で表記した曜日水曜日
eeeee先頭文字で表記した曜日

メモ

  • 実行中のアプリの編集フィールドは、DisplayFormat に単語が含まれている場合でも、区切られた数値を受け入れます。たとえば、月の形式が 'MMMM' のように指定されている場合、アプリは 04 のような数値の月を受け入れますが、月の名前を '4 月' のように表示します。

  • ユーザーが実行中のアプリで年間通算日番号を指定し、形式に年間通算日 (D) とグレゴリオ年 (y) の両方の識別子が含まれる場合、datetime は年間通算日番号を正しく読み取れない場合があります。y の代わりに ISO 年 (u) を使用してください。

  • ゼロに近い年番号を扱うときは、文字 y の代わりに文字 u を 1 文字以上使用します。

無効な日付。m 行 1 列の datetime 配列として指定します。このプロパティは、実行中のアプリで選択不可の日付を指定します。

例: d = uidatepicker('DisabledDates',datetime(2018,1,1)) は 2018 年 1 月 1 日を無効にします。

datetime 配列は NaT 値を含むことができず、日付は昇順に並べ替えられていなければなりません。

以前に無効にした日付をすべて再び有効にするには、NaT(0) を呼び出して空の datetime 配列を作成します。

d.DisabledDates = NaT(0);

データ型: datetime

無効な曜日。次のいずれかとして指定します。

  • 空の配列 []。すべての曜日を有効にします。

  • 範囲 [1,7] の正の整数のベクトル。数値は曜日に対応します。たとえば、[1 3] は日曜日と火曜日を無効にします。

  • 文字ベクトルの 1 次元 cell 配列。配列要素はローカライズされた曜日名を含みます。部分的な曜日名は明確でなければなりません。たとえば、{'金','土'} は金曜日と土曜日を無効にします。

  • ローカライズされた完全または部分的な曜日名を含む string ベクトル。

cell 配列または string ベクトルを使用して曜日名を指定した場合、コードはその作成されたロケールでのみ動作します。どのロケールでもコードが動作するようにするには、このプロパティを数値ベクトルとして指定します。

データ型: double | cell | string

フォントと色

すべて展開する

フォント名。システムでサポートされているフォント名として指定します。既定のフォントは、特定のオペレーティング システムとロケールによって異なります。

指定したフォントが利用できない場合、MATLAB® は、アプリが実行中のシステムで利用可能なフォントから最もよく一致するフォントを使用します。

例: 'Arial'

フォント サイズ。正の数値として指定します。測定単位はピクセルです。既定のフォント サイズは、特定のオペレーティング システムとロケールによって異なります。

例: 14

フォントの太さ。次のいずれかの値として指定します。

  • 'normal' — 各フォントで定義されている既定の太さ

  • 'bold''normal' よりも太い文字

すべてのフォントに太字フォントがあるとは限りません。そのため、太字フォントを指定しても標準フォントの太さと変わらない場合があります。

フォントの角度。'normal' または 'italic' として指定します。このプロパティを italic に設定すると、アプリ ユーザーのシステムで利用できる場合にイタリック フォントが選択されます。

フォントの色。RGB 3 成分、16 進数カラー コードまたは表にリストされたオプションのいずれかとして指定します。

RGB 3 成分および 16 進数カラー コードは、カスタム色を指定するのに役立ちます。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。これらの値では大文字小文字は区別されません。したがって、カラー コード '#FF8800''#ff8800''#F80'、および '#f80' は等価です。

あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。

色名省略名RGB 3 成分16 進数カラー コード外観
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

MATLAB の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。

RGB 3 成分16 進数カラー コード外観
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

背景色。RGB 3 成分、16 進数カラー コード、または表にリストされた色オプションのいずれかとして指定します。

RGB 3 成分および 16 進数カラー コードは、カスタム色を指定するのに役立ちます。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。これらの値では大文字小文字は区別されません。したがって、カラー コード '#FF8800''#ff8800''#F80'、および '#f80' は等価です。

あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。

色名省略名RGB 3 成分16 進数カラー コード外観
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

MATLAB の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。

RGB 3 成分16 進数カラー コード外観
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

対話機能

すべて展開する

コンポーネントの可視性。'on' または 'off' として指定します。Visible プロパティが 'off' に設定されている場合、コンポーネントは UI に表示されませんが、そのプロパティに対するクエリと設定を行うことができます。

編集フィールドでの変更の許可。'on' または 'off' として指定します。このプロパティを 'on' に設定すると、実行時に編集フィールドで日付を変更できます。編集フィールドでの変更を許可するには、Enable プロパティも 'on' に設定されていなければなりません。

操作の有効化。'on' または 'off' として指定します。このプロパティを 'off' に設定すると、コンポーネントはグレー表示され、ユーザーが操作できないことを示します。

ツールヒント。文字ベクトル、文字ベクトルの cell 配列、string 配列、または 1 次元の categorical 配列として指定します。このプロパティを使用して、実行時にユーザーがポインターをコンポーネントに合わせるとメッセージが表示されるようにします。コンポーネントが無効になっている場合でも、ツールヒントは表示されます。複数行のテキストを表示するには、文字ベクトルの cell 配列または string 配列を指定します。配列の各要素は、テキストの各行になります。このプロパティを categorical 配列として指定した場合、MATLAB はカテゴリの完全なセットではなく、配列内の値を使用します。

位置

すべて展開する

親コンテナーを基準にした、折りたたまれた日付ピッカーの位置とサイズ。[left bottom width height] の形式のベクトルとして指定します。次の表で、ベクトルの各要素について説明します。

要素説明
left親コンテナーの内側左端から日付ピッカーの外側左端までの距離
bottom親コンテナーの内側下端から日付ピッカーの外側下端までの距離
width日付ピッカーの外側の右端から左端までの距離
height日付ピッカーの外側の上端から下端までの距離

すべての測定単位はピクセルです。

親コンテナーを基準にした、折りたたまれた日付ピッカーの位置とサイズ。[left bottom width height] の形式のベクトルとして指定します。このプロパティ値は、Position プロパティと同一です。

親コンテナーを基準にした、折りたたまれた日付ピッカーの位置とサイズ。[left bottom width height] の形式のベクトルとして指定します。このプロパティ値は、Position プロパティと同一です。

レイアウト オプション。GridLayoutOptions オブジェクトとして指定します。このプロパティは、グリッド レイアウト コンテナーの子であるコンポーネントのオプションを指定します。コンポーネントがグリッド レイアウト コンテナーの子ではない場合 (たとえば、Figure またはパネルの子である場合) は、このプロパティは空で、効果はありません。しかし、コンポーネントがグリッド レイアウト コンテナーの子である場合は、GridLayoutOptions オブジェクトの Row プロパティおよび Column プロパティを設定して、グリッドの目的の行と列にコンポーネントを配置することができます。

たとえば、以下のコードは、日付ピッカーをその親グリッドの 3 行目の 2 列目に配置します。

g = uigridlayout([4 3]);
d = uidatepicker(g);
d.Layout.Row = 3;
d.Layout.Column = 2;

日付ピッカーが複数の行または列にまたがるようにするには、Row プロパティまたは Column プロパティを 2 要素ベクトルとして指定します。たとえば、次の日付ピッカーは 2 列目から 3 列目にまたがります。

d.Layout.Column = [2 3];

コールバック

すべて展開する

値変更済み関数。次のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。

ユーザーがテキスト フィールドに日付を入力して変更するか、日付ピッカーを展開して日付を選択すると、ValueChangedFcn コールバックが実行されます。

このコールバック関数は、ユーザーの日付ピッカー操作に関する特定の情報にアクセスできます。MATLAB は、この情報を ValueChangedData オブジェクトに格納し、2 番目の引数としてコールバック関数に渡します。App Designer では、引数は event と呼ばれます。ドット表記を使用して、オブジェクトのプロパティを取得できます。たとえば、event.PreviousValue は前に選択した日付を取得します。ValueChangedData オブジェクトは、文字ベクトルとして指定されているコールバック関数では使用できません。

次の表に、ValueChangedData オブジェクトのプロパティを示します。

プロパティ
Value新たに選択された日付
PreviousValue前に選択された日付
Sourceコールバックを実行するコンポーネント
EventName'ValueChanged'

ユーザーが現在選択している日付を選択し直したり、入力し直したりしても ValueChangedFcn コールバックは実行されません。Value プロパティがプログラムにより変更された場合も、コールバックは実行されません。

App Designer でのコールバックの作成の詳細については、App Designer でコールバックを記述するを参照してください。

オブジェクト作成関数。次の値のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。

コールバックを関数ハンドル、cell 配列、または文字ベクトルとして指定する方法の詳細については、App Designer でコールバックを記述するを参照してください。

このプロパティは、MATLAB がオブジェクトを作成するときに実行されるコールバック関数を指定します。MATLAB は CreateFcn コールバックを実行する前に、すべてのプロパティ値を初期化します。CreateFcn プロパティを指定しない場合、MATLAB は既定の作成関数を実行します。

既存のコンポーネントに CreateFcn プロパティを設定しても効果はありません。

このプロパティを関数ハンドルまたは cell 配列として指定した場合、コールバック関数の最初の引数を使用して、作成中のオブジェクトにアクセスできます。それ以外の場合は、関数 gcbo を使用してオブジェクトにアクセスします。

オブジェクト削除関数。次の値のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。

コールバックを関数ハンドル、cell 配列、または文字ベクトルとして指定する方法の詳細については、App Designer でコールバックを記述するを参照してください。

このプロパティは、MATLAB がオブジェクトを削除するときに実行されるコールバック関数を指定します。MATLAB は、オブジェクトのプロパティを破棄する前に DeleteFcn コールバックを実行します。DeleteFcn プロパティを指定しない場合、MATLAB は既定の削除関数を実行します。

このプロパティを関数ハンドルまたは cell 配列として指定した場合、コールバック関数の最初の引数を使用して、削除されるオブジェクトにアクセスできます。それ以外の場合は、関数 gcbo を使用してオブジェクトにアクセスします。

コールバック実行制御

すべて展開する

コールバックの割り込み。'on' または 'off' として指定します。Interruptible プロパティは実行中のコールバックが割り込み可能かどうかを決定します。

次の 2 つのコールバックの状態について考慮する必要があります。

  • "実行中" コールバックは、現在実行しているコールバックです。

  • "割り込み" コールバックは、実行中のコールバックに割り込もうとするコールバックです。

MATLAB がコールバックを呼び出すたびに、そのコールバックは実行中のコールバック (がある場合) に割り込もうとします。実行中のコールバックを所有するオブジェクトの Interruptible プロパティが、割り込み可能かどうかを決定します。Interruptible プロパティは次の 2 つの値をとることができます。

  • 'on' — 他のコールバックがオブジェクトのコールバックに割り込むことを許可します。割り込みは、drawnowfigureuifiguregetframewaitforpause コマンドなどの、MATLAB が次にキューを処理するポイントで発生します。

    • 実行中のコールバックにこれらのいずれかのコマンドが含まれている場合、MATLAB はそのポイントでコールバックの実行を停止し、割り込みコールバックを実行します。割り込みコールバックが完了すると、MATLAB は実行中だったコールバックの実行を再開します。

    • 実行中のコールバックにこれらのコマンドが含まれていない場合、MATLAB はそのコールバックの実行を割り込みなしで完了します。

  • 'off' — 割り込みの試行をすべてブロックします。割り込みコールバックを所有するオブジェクトの BusyAction プロパティが、その割り込みコールバックを破棄するかキューに入れるかを決定します。

メモ

コールバックの割り込みと実行は、以下の状況では動作が異なります。

  • 割り込みコールバックが DeleteFcnCloseRequestFcn または SizeChangedFcn の各コールバックの場合、Interruptible プロパティの値にかかわらず割り込みが発生します。

  • 実行中のコールバックが関数 waitfor を現在実行している場合、Interruptible プロパティの値にかかわらず割り込みが発生します。

  • Timer オブジェクトは、Interruptible プロパティ値にかかわらず、スケジュールに従って実行されます。

MATLAB は、割り込みが発生したときにプロパティの状態や表示を保存しません。たとえば、gca コマンドや gcf コマンドから返されたオブジェクトは、別のコールバックを実行するときに変更されている可能性があります。

コールバック キューイング。'queue' または 'cancel' として指定します。BusyAction プロパティは MATLAB による割り込みコールバックの実行の処理方法を決定します。次の 2 つのコールバックの状態について考慮する必要があります。

  • "実行中" コールバックは、現在実行しているコールバックです。

  • "割り込み" コールバックは、実行中のコールバックに割り込もうとするコールバックです。

MATLAB がコールバックを呼び出すたびに、そのコールバックは実行中のコールバックに割り込もうとします。実行中のコールバックを所有するオブジェクトの Interruptible プロパティが、割り込みを許可するかどうかを決定します。割り込みが許可されない場合は、割り込みコールバックを所有するオブジェクトの BusyAction プロパティが、そのコールバックを破棄するかキューに入れるかを決定します。BusyAction プロパティは次の値を取ることができます。

  • 'queue' — 割り込みコールバックをキューに入れ、実行中のコールバックが終了した後に処理されるようにします。

  • 'cancel' — 割り込みコールバックを実行しません。

このプロパティは読み取り専用です。

削除状態。'off' または 'on' として返されます。MATLAB は、DeleteFcn コールバックが実行を開始すると、BeingDeleted プロパティを 'on' に設定します。コンポーネント オブジェクトが存在しなくなるまで BeingDeleted プロパティは 'on' に設定されたままです。

クエリや変更の前にオブジェクトが削除されようとしていないか確認するために BeingDeleted プロパティの値をチェックします。

親/子

すべて展開する

親コンテナー。関数 uifigure を使用して作成された Figure オブジェクト、またはその子コンテナー (TabPanelButtonGroup または GridLayout) のいずれかとして指定します。コンテナーが指定されていない場合、MATLAB は関数 uifigure を呼び出し、親コンテナーとして使用される新しい Figure オブジェクトを作成します。

オブジェクト ハンドルの可視性。'on''callback' または 'off' として指定します。

このプロパティは、オブジェクトの親がもつ子のリストにおけるそのオブジェクトの可視性を制御します。オブジェクトがその親オブジェクトのリストで、子として可視できない場合、オブジェクト階層の検索またはプロパティのクエリによってオブジェクトを取得する関数は、そのオブジェクトを返しません。これらの関数には、getfindobjclf および close が含まれます。オブジェクトは参照できない場合も有効です。オブジェクトにアクセスできる場合は、そのプロパティを設定および取得して、それをオブジェクトに作用する任意の関数に渡すことができます。

HandleVisibility の値説明
'on' オブジェクトは常に参照できます。
'callback'オブジェクトはコールバック内から、あるいはコールバックにより呼び出される関数から参照できます。しかし、コマンド ラインから呼び出される関数からは参照できません。このオプションを使用すると、コマンド ラインからのオブジェクトへのアクセスがブロックされますが、コールバック関数からのアクセスは許可されます。
'off'オブジェクトは常に参照できません。このオプションは、他の関数による UI の意図しない変更を防止するために役立ちます。HandleVisibility'off' に設定すると、その関数の実行中にオブジェクトが一時的に非表示になります。

識別子

すべて展開する

このプロパティは読み取り専用です。

グラフィックス オブジェクトのタイプ。'uidatepicker' として返されます。

オブジェクト識別子。文字ベクトルまたは string スカラーとして指定します。オブジェクトの識別子として機能する一意の Tag 値を指定できます。コードの他の部分からオブジェクトにアクセスする必要がある場合、関数 findobj を使用して Tag 値に基づいてオブジェクトを検索できます。

ユーザー データ。任意の MATLAB 配列として指定します。たとえば、スカラー、ベクトル、行列、cell 配列、文字配列、table、または構造体を指定できます。このプロパティを使用して、任意のデータをオブジェクトに保存します。

App Designer を使用している場合は、UserData プロパティを使用する代わりに、アプリでパブリック プロパティまたはプライベート プロパティを作成してデータを共有します。詳細については、App Designer アプリ内でのデータの共有を参照してください。

R2018a で導入