注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

你想快速掌握安卓编程吗

 
 
 

日志

 
 

[原创]B4A画矩形图  

2014-01-16 14:13:48|  分类: B.例程 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
[原创]B4A画矩形图 - 沉默蜂QQ793136625 - 沉默蜂
 图为例程的运行效果


#Region  Project Attributes 
#ApplicationLabel: B4A 示例
#VersionCode: 1
#VersionName: 
'SupportedOrientations(支持的方向) 值可以是: unspecified(未指定), landscape(纵向)或portrait(横向)。
#SupportedOrientations: unspecified
#CanInstallToExternalStorage: False
#End Region

#Region  Activity Attributes 
#FullScreen: False
#IncludeTitle: True
#End Region

Sub Process_Globals
'这里声明的全局变量在应用启动时被使用。
'这里声明的变量能被所有模块使用。

End Sub



Sub Globals

    Dim Canvas1 As Canvas
'Canvas 画布类
    Dim Rect1 As Rect
'Rect 矩形类 
    Dim sx, sy As Int
'定义水平和垂直坐标
End Sub

#Region 代码说明

'版本:2014-01-16
'设计:沉默蜂(QQ793136625)
'博客:http://silentbees.blog.163.com

'说明:
'这个例程演示了B4A画矩形图

'这个例程运行的效果其实就是用手指在安卓程序界面里拖出一个矩形区域,
'手指放开后这个矩形会被消除

'例程参考
'http://www.basic4ppc.com/android/forum/threads/drawing-a-selection-window.7023/#content

#End Region





Sub Activity_Create(FirstTime As Boolean)

'初始化矩形类和画布类对象
    Canvas1.Initialize(Activity)
'将在哪个控件上画画
    Rect1.Initialize(0, 0, 0, 0)
End Sub

Sub Activity_Touch (Action As Int, X As Float, Y As Float)
'窗体被触摸时触发这个事件


    If Action = Activity.ACTION_DOWN Then
'当手指在窗体区域按下时的那一瞬间触发此事件
Log(DateTime.Time(DateTime.Now) & " 手指在窗体中按下")
        sx = X
        sy = Y
'这两个参数X、Y是当前手指触摸窗体时的坐标
    Else
        Canvas1.DrawRect(Rect1, Colors.Black, False, 5dip)
'删除以前的矩形
'DrawRect ( Rect1 As Rect, Color As Int, Filled As Boolean, StrokeWidth As Float ) 
'Canvas.DrawRect 画矩形 
'第一个参数:矩形类对象
'第二个参数:是否填充矩形 
'第三个参数:是否填充矩形 
'第四个参数:是否填充矩形 

        If Action = Activity.ACTION_MOVE Then
'手指在窗体中移动,在这种状态下画矩形
Log(DateTime.Time(DateTime.Now) & " 手指在窗体中移动")
            Rect1.Left = Min(sx, X)
'Max ( Number1 As Double, Number2 As Double ) As Double 
'Min用于取两个参数中的最大值

            Rect1.Right = Max(sx, X)
            Rect1.Top = Min(sy, Y)
'Min用于取两个参数中的最小值
            Rect1.Bottom = Max(sy, Y)
            Canvas1.DrawRect(Rect1, Colors.White, False, 5dip)
'画矩形
        End If
        Activity.Invalidate
'整个视图焦点失效,且视图重绘自己. 
'重绘仅发生在程序能处理消息时. 
'通常情况下,当它结束运行当前的代码.
    End If
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub


  评论这张
 
阅读(2646)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017