2012-10-16 43 views
1

我想设置在单元格背景颜色的细胞..MATLAB设置背景色uicontrol

类似:

enter image description here

所以我有RGB颜色和我想要着色的单元格的数量。

你可以认为单元格的位置是我写的。

我的颜色是由RGB给出:

color = [255 0 0]; 

我想将其添加到第10电池,所以我写了类似:

S.cell_data(10) = uicontrol('style','text',... 
       'units','pix',... 
       'Position',[20 70 80 40],... 
       'string',color); 

但风格是不是“文本”和它不是一个字符串。

这就是我想现在:

S.cell_data(10) = uicontrol('style','text',... 
       'units','pix',... 
       'Position',[125 70 80 40],... 
       'string','fh'); 

parentColor = get(get(S.cell_data(10), 'parent'), 'color'); 

set(S.cell_data(num_of_cols+1),'foregroundcolor', [0 0 0], ... 
    'backgroundcolor', parentColor); 

有人知道?

+0

请详细说明,不清楚。 –

+0

我添加了一个例子:] –

回答

2
blue = 255; 
green = 0; 
red = 0; 

rgb_str = strcat('<HTML><BODY bgcolor = "rgb(', num2str(red), ', ', num2str(green), ', ', num2str(blue), ')">green background</BODY></HTML>'); 

S.cell_data(10) = uicontrol('Style','pushbutton', 'Position',[20 70 80 40], 'String', {rgb_str}); 
+1

你不需要strcat(只是使用方括号),我不认为在调用uicontrol时强制转换为单元格字符串是必要的,但除此之外:使用html的良好演示uicontrol。 –

+1

请注意,在matlab uicontrols中使用HTML标记是未记录的,并且在将来的版本中可能不起作用。 –

+0

谢谢你们俩。 –