필터 지우기
필터 지우기

How I can check the button if enabled or disabled in MATLAB?

조회 수: 4 (최근 30일)
Eliza
Eliza 2017년 12월 7일
답변: Walter Roberson 2017년 12월 10일
I wanna use if condition to check if the button is Enable or Disable can I do that ?

답변 (2개)

Jan
Jan 2017년 12월 7일
편집: Jan 2017년 12월 9일
Actually the question is far too lean to be answered reliably. But a guess:
if handles.Checkbox1.Value
This is sufficient already, when I assume, that handles.Checkbox1 is the handle of your checkbox. Examine the tag of the checkbox or the handles struct to find the real name in your code.
[EDITED] The solution with R2015b and teh property "Enable" is:
if strcmp(handles.Button1.Enable, 'off')
If you handles.msg is a uint8, it is not a valid button handle.
  댓글 수: 11
Eliza
Eliza 2017년 12월 9일
Here is the properties of msg
(msg) with properties:
Style: 'pushbutton'
String: 'First'
BackgroundColor: [0.9400 0.9400 0.9400]
Callback: [function_handle]
Value: 1
Position: [55.2000 16.6923 22 2.6923]
Units: 'characters'
BackgroundColor: [0.9400 0.9400 0.9400]
BeingDeleted: 'off'
BusyAction: 'queue'
ButtonDownFcn: ''
CData: []
Callback: [function_handle]
Children: [0x0 handle]
CreateFcn: ''
DeleteFcn: ''
Enable: 'on'
Extent: [0 0 14.8000 1.6154]
FontAngle: 'normal'
FontName: 'MS Sans Serif'
FontSize: 10
FontUnits: 'points'
FontWeight: 'bold'
ForegroundColor: [0 0 0]
HandleVisibility: 'on'
HorizontalAlignment: 'center'
Interruptible: 'on'
KeyPressFcn: ''
KeyReleaseFcn: ''
ListboxTop: 1
Max: 1
Min: 0
Parent: [1x1 Panel]
Position: [55.2000 16.6923 22 2.6923]
SliderStep: [0.0100 0.1000]
String: 'Watermark'
Style: 'pushbutton'
Tag: 'msg'
TooltipString: ''
Type: 'uicontrol'
UIContextMenu: [0x0 GraphicsPlaceholder]
Units: 'characters'
UserData: [1x0 double]
Value: 1
Visible: 'on'
Jan
Jan 2017년 12월 10일
@Eliza: Why do you post the properties? Note, that this is a contradiction to what you have posted before:
class(handles.msg)
ans =
uint8
Please try to find out, why your handles.msg is sometimes an UINT8 and sometimes a graphics handle. Perhaps you overwrite it anywhere? But if it is a graphics handle, my suggestion should work directly. Did you try it?

댓글을 달려면 로그인하십시오.


Walter Roberson
Walter Roberson 2017년 12월 10일
At some point in your code, you are overwriting handles.msg with a uint8 array. Search your code for assignments to handles.msg

카테고리

Help CenterFile Exchange에서 Interactive Control and Callbacks에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by