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

    function pDrawButtonImages(obj, imdata, startbtn, endbtn, btnState)
%PDRAWBUTTONIMAGES Private method to redraw buttons
%
%  PDRAWBUTTONIMAGES(OBJ, IMAGE, START, END, BTNSTATE) redraws buttons on
%  the toolbar from button number START to button number END.  The toolbar
%  canvas is assumed to be already clean and ready for drawing.  Separators
%  are also drawn by this function.

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


if nargin<5
    btnState = false;
end

SC = obj.hColors;
ch = obj.Children;
btnHeight = size(imdata,1);
for n = startbtn:endbtn
    if obj.ButtonVisCache(n)
        % Draw a separator if required
        if obj.ButtonSepCache(n)
            pDrawSeparator(obj, imdata, obj.ButtonEdges(n,1)-4, SC.CTRL_LT_HILITE, SC.CTRL_SHADOW);
        end
        % Instruct button child to draw itself
        ch(n).pDrawButton(imdata, obj.ButtonEdges(n,1), 1, ...
            obj.ButtonEdges(n,2) - obj.ButtonEdges(n,1) + 1, btnHeight, ...
            (n==obj.CurrentButtonIndex), btnState);
    end
end