Matlab - Color de un edit text

   
Vista:

Color de un edit text

Publicado por Zuri (24 intervenciones) el 28/01/2008 16:39:40
Hola a tod@s!

Tengo una GUI con un edit text que está inactivo para el usuario, y en el que se muestra un mensaje u otro en función de unos valores. El caso es que quiero cambiar el color de fondo a uno concreto y no me deja. He probado a ponerlo en la función Create FCn del edit text así:

% --- Executes during object creation, after setting all properties.
function edit_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit_plength_ba_pa (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc
set(hObject,'BackgroundColor',[0.2, 0.65, 0.78]);
else
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end
guidata(hObject, handles);

y en la función Opening_FCn así:

set(handles.edit,'BackgroundColor',[0.2, 0.65, 0.78]);

También he definido ese color en el Property Inspector en background, pero no sale nunca cuando ejecuto la ventana.

Alguna idea?

Muchas gracias!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Color de un edit text

Publicado por Julian Cuintaco (75 intervenciones) el 29/01/2008 02:32:57
Hola

Lo que sucede es que cuando la propiedad 'Enable' es ajustada a 'off', el control es totalmente inoperable y los valores de color son ajustados por defecto. Así que para lograr lo que quieres, puedes hacer cualquiera de estas dos cosas:

1. Si sólo lo vas a usar para visualizar datos, te recomiendo usar un 'Static Text', ajustando la propiedad 'BackgroundColor' como lo explicas en el mensaje anterior. En caso contrario,

2. Ajustar la propiedad 'Enable' a 'inactive', en este caso, la caja de texto es inoperable pero conserva la configuración de colores de la propiedad 'BackgroundColor'. Ej: suponiendo que el 'tag' del control es edit1, escribir en la función 'OpeningFcn':

set(handles.edit1,'Enable','inactive');
set(handles.edit1,'BackgroundColor',[0.2 0.35 0.84]);

Saludos!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar