GUI のテキストボックスに​複数行を入力して内容​をコマンドウィンドウ​で評価をする方法はあ​りますか?

19 visualizaciones (últimos 30 días)
MathWorks Support Team
MathWorks Support Team el 25 de Mzo. de 2013
GUIDE でテキストボックスを含む GUI を作成しています。テキストボックスに複数行を入力したいと考えています。行を追加するために改行キーを押すと、行の追加は実行されず、コールバックが評価されます。

Respuesta aceptada

MathWorks Support Team
MathWorks Support Team el 30 de Dic. de 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

Más respuestas (0)

Categorías

Más información sobre 基本的な設定 en Help Center y File Exchange.

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!