posts - 195, comments - 34, trackbacks - 0, articles - 1

          1、  啟動(dòng)

          % 獲取當(dāng)前文件所在路徑

          currPath = fileparts(mfilename('fullpath'));

          % 切換工作路徑到當(dāng)前位置

          cd(currPath);

          % 判斷所用操作系統(tǒng)

          if computer == 'PCWIN'

              % MATLAB版本號(hào)

              v = version;

              if v(1)~='7'        

                  warndlg ('Only run in matlab 7.x(R14.x)');

                  return

          else

                  % 添加當(dāng)前路徑下的所有子目錄

                  addpath(genpath(pwd));

                  addpath(genpath(currPath));

              end

          end

          2  GUI中使用Axes控件

          % 1.刪除所有畫線及對(duì)應(yīng)圖例

          % 查找Axes控件中的畫線

          sameLines = findobj('type','line');

          % 逐一刪除這些畫線

              for i = 1 :length(sameLines)

                  delete(sameLines(i))

          end

          % 獲取Axes控件中的圖例(由于畫線全部被刪除,因此為空)

          lgStr = get(legend(handles.ResultsAxes), 'String');

          % 重新設(shè)置圖例(為空)

              legend(handles.ResultsAxes,lgStr);

          % 2.添加畫線

          % 獲取原來(lái)的圖例

          lgStr = get(handles.hLegend, 'String');

          % 設(shè)置下一個(gè)畫線為添加方式

          set(handles.ResultsAxes, 'Nextplot', 'add');

          % 指定要畫線的Axes

          axes(handles.ResultsAxes);

          % 畫線

          plot(distance_target, '-r')

          % 添加圖例

          handles.hLegend = legend(handles.ResultsAxes, lgStr,'目標(biāo)距離');

          % 3.刪除某一畫線

          % 所刪除畫線對(duì)應(yīng)的數(shù)據(jù)為distance_target,獲取它的句柄

          sameLines = findobj('type','line','YData', distance_target);

          % 刪除畫線

              if ~isempty(sameLines)

                  delete(sameLines);

          end

          % 獲取原有的圖例

          lgStr = get(legend(handles.ResultsAxes), 'String');                    

          % 從原有圖例中刪除對(duì)應(yīng)圖例

              legend(handles.ResultsAxes, setdiff(lgStr, {'目標(biāo)距離'}));

          3、  GUI中使用Excel表格(Activex控件Microsoft Office Spreedsheet

          % 獲取現(xiàn)在使用的spreedsheet的句柄

          ActiveSheet = get(handles.activex1,'ActiveSheet');

             % 現(xiàn)在使用的spreedsheet的現(xiàn)在使用工作薄

             ActiveWorkbook = get(handles.activex1,'ActiveWorkbook');            

             % 現(xiàn)在使用的表

          eSheets = handles.activex1.ActiveWorkbook.Sheets;

             % 使用表的第一個(gè)子表

             eSheet1 = eSheets.get('Item', 1);

             % 激活該表

             eSheet1.Activate;

          % 獲取當(dāng)前單元格的句柄

          ActiveCell = get(handles.activex1, 'ActiveCell');

          % 選擇坐標(biāo)為A1的單元格

          Select(Range(ActiveSheet,'A1'));

          % 獲取當(dāng)前單元格的句柄

          ActiveCell = get(handles.activex1, 'ActiveCell');

          % 設(shè)置當(dāng)前單元格中的內(nèi)容

              set(ActiveCell, 'Value', '仿真結(jié)果報(bào)告');  

          4、  Axes控件設(shè)置圖片

          % 所有設(shè)置的Axes控件

          axes(handles.MyLog);

          % 讀取圖片數(shù)據(jù)

          Image_tip1=imread('Setting/mylog.jpg');

          % 顯示圖片

          image(Image_tip1);



          Feedback

          # re: MATLAB GUI編程中幾個(gè)有用的程序段[未登錄](méi)  回復(fù)  更多評(píng)論   

          2007-09-06 09:45 by zz
          Nice!

          # re: MATLAB GUI編程中幾個(gè)有用的程序段  回復(fù)  更多評(píng)論   

          2009-08-29 15:23 by ncepuyuyu
          Fine
          主站蜘蛛池模板: 郯城县| 策勒县| 兰州市| 元谋县| 无锡市| 米易县| 利川市| 谷城县| 绩溪县| 乌拉特中旗| 许昌县| 克东县| 朝阳区| 寻乌县| 平泉县| 揭阳市| 赤峰市| 焦作市| 外汇| 新沂市| 英德市| 乌恰县| 海兴县| 青冈县| 东乡县| 昭平县| 桃源县| 曲靖市| 东兰县| 遂宁市| 孝昌县| 资源县| 鹤山市| 阿勒泰市| 家居| 田林县| 浦东新区| 望都县| 临潭县| 平原县| 罗城|