www.gusucode.com > mbcguitools 工具箱 matlab 源码程序 > mbcguitools/@xregGui/@itemlist1/doDrawSelection.m

    function doDrawSelection(h)
%DODRAWSELECTION  Draw the selection rectangle
%
%  h.doDrawSelection

%  Copyright 2000-2010 The MathWorks, Inc. and Ford Global Technologies, Inc.


if h.Value>0 && h.Value<=length(h.Items) && strcmp(h.HighlightSelection,'on')
   sc=xregGui.SystemColors;
   ForeIm=h.imageH(h.Value);
   sz=size(get(ForeIm, 'CData'))+[8 8 0];
   
   bgdata=repmat(uint8(0),sz);
   bgdata(:,:,1)=h.BackgroundColor(1)*255;
   bgdata(:,:,2)=h.BackgroundColor(2)*255;
   bgdata(:,:,3)=h.BackgroundColor(3)*255;
   
   bgdata(:,end,1)=sc.CTRL_HILITE(1);
   bgdata(1,:,1)=sc.CTRL_HILITE(1);
   bgdata(end,:,1)=sc.CTRL_DK_SHADOW(1);
   bgdata(:,1,1)=sc.CTRL_DK_SHADOW(1);
   
   bgdata(:,end,2)=sc.CTRL_HILITE(2);
   bgdata(1,:,2)=sc.CTRL_HILITE(2);
   bgdata(end,:,2)=sc.CTRL_DK_SHADOW(2);
   bgdata(:,1,2)=sc.CTRL_DK_SHADOW(2);
   
   bgdata(:,end,3)=sc.CTRL_HILITE(3);
   bgdata(1,:,3)=sc.CTRL_HILITE(3);
   bgdata(end,:,3)=sc.CTRL_DK_SHADOW(3);
   bgdata(:,1,3)=sc.CTRL_DK_SHADOW(3);
   
   set(h.SelImH,'CData',bgdata,...
      'XData',get(ForeIm,'XData')+[-4 4],...
      'YData',get(ForeIm,'YData')+[-4 4],...
      'Visible','on');
else
   set(h.SelImH,'Visible','off');
end