Foxtable(狐表)用户栏目专家坐堂 → 在屏幕上如何动态画虚框?


  共有3767人关注过本帖树形打印复制链接

主题:在屏幕上如何动态画虚框?

帅哥哟,离线,有人找我吗?
刘海屋
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:73 积分:594 威望:0 精华:0 注册:2014/9/20 22:13:00
在屏幕上如何动态画虚框?  发帖心情 Post By:2015/1/27 21:06:00 [显示全部帖子]

目的:用鼠标移动来框定几个button,以便同时移动它们。因此在鼠标框定buttons时,需要动态显示一个虚框。

问题:如何在屏幕上画虚框?

已知:CGI画框范例为:

 

Dim p As WinForm.Painter = e.Form.Controls("Painter1")
Dim
g As Graphics = p.Graphics
Dim
n As New Pen(Color.Red,5)
g.DrawRectangle(n,
10,10,100,50)
p.Repaint()

 

但有两个疑问:

(1)上例的框只能画在画板Painter上。如何能做到上面我要求的功能?

(2)如何定义框的边线为虚线?

谢谢。


 回到顶部
帅哥哟,离线,有人找我吗?
刘海屋
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:73 积分:594 威望:0 精华:0 注册:2014/9/20 22:13:00
您这是什么文件?用什么打开?  发帖心情 Post By:2015/1/27 22:23:00 [显示全部帖子]

您这是什么文件?如何打开?

 


 回到顶部
帅哥哟,离线,有人找我吗?
刘海屋
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:73 积分:594 威望:0 精华:0 注册:2014/9/20 22:13:00
知道了,谢谢。  发帖心情 Post By:2015/1/28 14:15:00 [显示全部帖子]

知道了,谢谢。

 回到顶部
帅哥哟,离线,有人找我吗?
刘海屋
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:73 积分:594 威望:0 精华:0 注册:2014/9/20 22:13:00
何处能下载到试用版?  发帖心情 Post By:2015/1/28 20:16:00 [显示全部帖子]

你好,我找不到哪里有试用版可以下载。你们Foxtable主页上只提供了一个59M的,看来不是试用版,它要激活码。

我不需要那个东西,只不过是为了看您附的那个例子库而已。有什么其它办法看那个文件吗?

谢谢。


 回到顶部
帅哥哟,离线,有人找我吗?
刘海屋
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:73 积分:594 威望:0 精华:0 注册:2014/9/20 22:13:00
哪里的话,我是买的正版开发版!  发帖心情 Post By:2015/1/28 20:44:00 [显示全部帖子]

我是买的正版的开发版。问题是那个试用版的激活码是个什么东西,我并没有。

那个激活码是指的什么?

 


 回到顶部
帅哥哟,离线,有人找我吗?
刘海屋
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:73 积分:594 威望:0 精华:0 注册:2014/9/20 22:13:00
谢谢你帮忙  发帖心情 Post By:2015/1/28 21:21:00 [显示全部帖子]

谢谢,我按你说的装上了一个商业版。原来包括更新时,并未装它,以为我只用开发版,那个商业版对我没用处。谁知道在这里要用。

我再试试能否打开您那个文件。

谢谢。


 回到顶部
帅哥哟,离线,有人找我吗?
刘海屋
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:73 积分:594 威望:0 精华:0 注册:2014/9/20 22:13:00
可以打开了,多谢。  发帖心情 Post By:2015/1/28 21:33:00 [显示全部帖子]

现在可以用商业版打开了。谢谢了。

 


 回到顶部
帅哥哟,离线,有人找我吗?
刘海屋
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:73 积分:594 威望:0 精华:0 注册:2014/9/20 22:13:00
此法有问题  发帖心情 Post By:2015/1/29 10:25:00 [显示全部帖子]

试用“鼠标框选效果.table” 后发现,此法只能用于无色无背景屏幕。若Form有背景色或图片,使用时

闪烁得十分厉害,原因是:

 

If MouseButton = MouseButtons.Left Then
    e.Sender.BaseControl.Refresh
    Dim g As Graphics = e.Sender.BaseControl.CreateGraphics
    g.DrawLine(Pens.Red,vars("x"),vars("y"),e.X,vars("y"))
    g.DrawLine(Pens.Red,vars("x"),vars("y"),vars("x"),e.Y)
    g.DrawLine(Pens.Red,e.x,vars("y"),e.X,e.y)
    g.DrawLine(Pens.Red,vars("x"),e.Y,e.x, e.y)
End If

 

中的语句:

    e.Sender.BaseControl.Refresh
导致屏幕色调或图片的去除和回复,出现闪烁。

但目前又不能去掉。

 

能否使用hook方法,确定光标位置,然后画Label控件的方法?

我找有一个VB的钩子,但无法正确的移植到Foxtable中。

现传给你,看看有无办法移植过来。

谢谢

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:hook鼠标钩子.txt

[此贴子已经被作者于2015-1-29 10:32:03编辑过]

 回到顶部