• ----:)欢迎访问源码网(:----
    • 首页
    • 博客
    • 学院
    • 下载
    • 论坛
    • 影视
    • 发布源码
    • RSS
    • ITPig
    • 笑话网
    • 百家姓
    • 繁體中文

源码网 - 中国第一源码门户
选择镜像:网通镜像 - 电信主站
  • 首 页
  • 新闻动态
  • 网站运营
  • 网页制作
  • WEB开发
  • 编程开发
  • 图像媒体
  • 操作系统
  • 数据库
  • 服务器
热门搜索 优化 SEO 故事 cms IIS7 MySQL 个人 AdSense 主题推广 | 文章搜索: 高级搜索
会员登录/控制面版您的位置: 学院首页 >> 编程开发 >> MATLAB >> 详细内容
 

推荐文章

 
 

热点文章

  • Matlab与VC混合编程
  • MATLAB概论
  • Matlab 图形对象的操作
  • Matlab 鼠标拖动字对象
 
 

相关文章

  • MATLAB概论
  • Matlab 图形对象的操作
  • Matlab与VC混合编程
  • 全面剖析XMLHttpRequest对象
 
 

百度搜索

 
 

Matlab 鼠标拖动字对象

  • 阅览次数:
  • 文章来源: CodePub整理
  • 原文作者:
  • 整理日期: 2008-08-01
  • 发表评论
  • 字体大小:
  • 小
  • 中
  • 大

鼠标拖动字对象

【例 10.7.9 -1 】本程序有两个功能:把当前图形窗中已存在的任何字对象拖放到所需的位置;向当前图形窗输入字对象,并拖放到任何所需位置。

(1)编写以下程序

[textzzy.m]

function textzzy(arg)

% textzzy.m 向当前图形窗输入“字对象”,并用鼠标移放到需要的地方

% arg 任何合法的“字符串”,或“字符串元胞数组”,或数值

% 调用格式 textzzy(S_C) 输入串、串元胞 S_C ,并可用鼠标拖动

% 调用格式 textzzy 可移动当前图形窗中已有的任何字对象

if ~nargin;arg=0; end

if ischar(arg)|iscell(arg) % 以下指令向图形窗输入串或串元胞

PT.Units= 'normalized' ;

PT.Position=[0.01 0.01]; % 字符串进入图形窗的初始位置

PT.String=arg;

PT.HorizontalAlignment= 'left' ; % 字符串的水平定位方式

PT.VerticalAlignment= 'baseline' ; % 字符串的垂直定位方式

ht=text(PT); % 采用构架设置字对象属性,创建对象。

textzzy(0) % 递归调用 textzzy.m

elseif arg==0 % 为鼠标操作准备条件

hf=get(0, 'CurrentFigure' ); % 获取当前图形窗的句柄

if isempty(hf)

error( ' 图形窗不存在。 ' )

end

PF1.BackingStore= 'off' ; % 为加快拖动速度,释放屏幕象素缓冲器。

PF1.WindowButtonDownFcn= 'textzzy(1)' ; % 等待鼠标按下左键,递归运行 textzzy(1)

set(hf,PF1) % 采用构架设置图对象属性

figure(hf) % 把当前图形窗调到前台

elseif arg==1 & strcmp(get(gco, 'Type' ), 'text' ) % 选定字对象

PO1.Units= 'data' ; % 在此设置下,字对象框的左下顶点确定位置

PO1.EraseMode= 'xor' ; % 设置旧对象的擦除模式

PO1.HorizontalAlignment= 'left' ;PO1.VerticalAlignment= 'baseline' ;

set(gco,PO1) % 采用构架设置选定对象的属性

PF2.Pointer= 'fleur' ; % 设置移动光标的形状

PF2.WindowButtonMotionFcn= 'textzzy(2)' ; % 移动鼠标时,递归运行 textzzy(2)

PF2.WindowButtonUpFcn= 'textzzy(999)' ; % 松开鼠标,递归运行 textzzy(999)

set(gcf,PF2) % 采用构架对图形窗属性再设置

elseif arg==2 % 拖动字对象

curpoi=get(gca, 'CurrentPoint' ); % 获得鼠标所在新位置的坐标

set(gco, 'Position' ,curpoi(1,1:3)) % 使所选对象定位在新坐标处

elseif arg==999 % 松开鼠标便属性重置为原缺省状态

set(gco, 'EraseMode' , 'normal' )

PF3.WindowButtonDownFcn= '' ; % 恢复设置为缺省值,即空串

PF3.WindowButtonMotionFcn= '' ;

PF3.WindowButtonUpFcn= '' ;

PF3.Pointer= 'arrow' ; % 光标恢复成箭头

PF3.Units= 'pixels' ;

PF3.BackingStore= 'on' ; % 重新起用象素缓冲器

set(gcf,PF3) % 把图形窗设置为缺省状态

else % 假如鼠标选择的不是“字对象”,恢复缺省设置

PF4.WindowButtonDownFcn= '' ;

PF4.WindowButtonMotionFcn= '' ;

PF4.WindowButtonUpFcn= '' ;

PF4.Pointer= 'arrow' ;

PF4.Units= 'pixels' ;

PF4.BackingStore= 'on' ;

set(gcf,PF4)

end  

上一篇:PHP使用zlib扩展实现页面GZIP压缩输出
下一篇:构建支持Master/Slave读写分离的数据库操作类
  • 网友评论:
  • 查看所有评论
  • 我要发表评论
您的网名:
留言主题:
你要发表的内容:

 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 发布软件 | 帮助中心 | 源码论坛

Copyright © 2005-2007 CodePub.Com  程序支持:木翼  滇ICP备05005971号