GUI のテキストボックスに複数行を入力して内容をコマンドウィンドウで評価をする方法はありますか?
19 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
GUIDE でテキストボックスを含む GUI を作成しています。テキストボックスに複数行を入力したいと考えています。行を追加するために改行キーを押すと、行の追加は実行されず、コールバックが評価されます。
Akzeptierte Antwort
MathWorks Support Team
am 30 Dez. 2016
まず、エディットボックスを複数行にするには、テキストボックスの "max" uicontrol プロパティを変更します。
uicontrol プロパティの ’max' の値と 'min' の値に関して、
MAX - MIN > 1
であれば、テキストボックスに複数行入力することが可能です。
MAX - MIN <= 1
の場合はテキストボックスには1行しか入力することができません。
"max" プロパティは、 GUIDE からとコマンドラインからどちらからでも変更できます。
1. GUIDE から変更する方法
1) エディットテキストをダブルクリックしてプロパティインスペクタを起動
2) MAX の値を設定したい行数に変更
2. コマンドライン、あるいはスクリプトで変更する方法
SET コマンドを以下の文法で使用します。
set(h_edit,'Max',N);
ここで h_edit はテキストボックスのハンドルで、N は MAX 値として設定したい値を指定します。
注意点:テキストボックスが1行の場合と複数行の場合、コールバックの実行のされ方が異なります。
次に、テキストボックス内のテキストをコマンドとして評価する方法は、二通りあります。
1. EVALMCW コマンドを使用する方法
MATLAB コマンドウィンドウ上で
evalmcw(h_edit)
と実行します。h_edit はテキストボックスのハンドルです。
(なお、EVALMCW コマンドは、ドキュメント化されていない関数です)
2. FOR ループを使用する方法
以下のように実行します。
s = get(h_edit,'string'); % h_edit はテキストボックスのハンドル
[row, column] = size(s);
for i = 1:row
eval(s{i,:}) % 各行を MATLAB コマンドプロンプトで評価
end
0 Kommentare
Weitere Antworten (0)
Siehe auch
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!