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

9 visualizaciones (últimos 30 días)
Eliza
Eliza el 7 de Dic. de 2017
Respondida: Walter Roberson el 10 de Dic. de 2017
I wanna use if condition to check if the button is Enable or Disable can I do that ?

Respuestas (2)

Jan
Jan el 7 de Dic. de 2017
Editada: Jan el 9 de Dic. de 2017
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 comentarios
Eliza
Eliza el 9 de Dic. de 2017
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 el 10 de Dic. de 2017
@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?

Iniciar sesión para comentar.


Walter Roberson
Walter Roberson el 10 de Dic. de 2017
At some point in your code, you are overwriting handles.msg with a uint8 array. Search your code for assignments to handles.msg

Categorías

Más información sobre Interactive Control and Callbacks en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by