matlab vertix,matlab 代码画button,点击后变名字

function initButton(hParent, position, label, callback)

name = genvarname(label);

label = strrep(label, ' ', char(10));

hAxes = axes('Parent',hParent, 'Units','norm', 'Position',position, 'Color',[.3,.3,1], ...

'Box','off', 'Xtick',[], 'YTick',[], 'YColor','w', 'XColor','w');

hText = text(0.5, 0.5, label, 'Parent',hAxes, 'tag',['tx' name], 'Color','k', ...

'Horizontal','center', 'FontName','Helvetica', 'FontSize',12, 'Fontweight','bold');

set([hAxes,hText], 'ButtonDownFcn',{callback,hAxes,hText});

GUI.(['ax' name]) = hAxes;

GUI.(['tx' name]) = hText;

% Create rounded button corners

N=200; a=2*pi*(0:N)/N;  % number of vertix points

sa=sin(a);

ca=cos(a);  ca=0.2*ca+0.7*sign(ca);

vert = [ca,1.2,1.2,-1.2,-1.2,1.2,1.2; sa,0,-1.2,-1.2,1.2,1.2,0]';

vert = 0.5 + 0.5*vert;

p = patch('Parent',hAxes, 'Vertices',vert, 'Faces',1:size(vert,1), 'FaceColor','w', 'EdgeColor','none');

try set(p, 'LineSmooth','on'); catch, end  % HG1 only

set(hAxes,'XLim',[0,1],'YLim',[0,1]);

set(GUI.hFig,'Renderer','painters');  % patch changes to OpenGL which hides the axData labels

end  % initButton

调用

initButton(hLeftBottomPanel, [.70,.01,.3,.18], 'Start trading',   @toggleTrading);

回调函数为:

function toggleTrading(hObject,eventData,hAxes,hText) %#ok         GUI.trading = ~GUI.trading;         if GUI.trading             set(hText,'String',['Pause' 10 'trading']);             set(hAxes,'Color','r');         else             set(hText,'String',['Resume' 10 'trading']);             set(hAxes,'Color','g');         end     end  % toggleTrading

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值