标题:在计算机后台,在PictureBox空间中绘制图形问题
只看楼主
rootsucn
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2010-8-31
结帖率:28.57%
已结贴  问题点数:20 回复次数:9 
在计算机后台,在PictureBox空间中绘制图形问题
如图所示,软件运行时,在PictureBox内绘制黄线边缘组成的24个网格,它们随着鼠标运动(鼠标位于24个网格中心)。对于任何一个格子,当进入到黑色区域后,填充格子变为红色,否则为白色透明,只绘制黄色边框。同时在程序内部,将鼠标坐标、速度、加速度、网格颜色信息等,即时处理输出至后台,控制硬件。
 今欲使用某些控件(如label、PictureBox等)将左右两个PictureBox遮住,使之外观如下图所示,程序界面前坐着的人,看不到左右两个PictureBox内的黑色白色区域以及24个网格的状况等图像信息,只能看到被遮盖住的灰色PictureBox,但是同时希望在计算机后台实际上仍然在即时计算速度、加速度、网格变色等信息。
目前如果单纯使用如label、PictureBox等控件覆盖上去,则实际上鼠标坐标、速度、加速度、网格颜色等信息停止处理,从后台得不到鼠标坐标、速度、加速度、网格颜色等信息。
问题:如何能使用控件覆盖至左右两个PictureBox之上,使PictureBox内部的图像信息不被程序界面前坐着的人所看到,但是左右两个PictureBox中的网格绘制、鼠标坐标、速度、加速度等同时却又在后台执行?
搜索更多相关主题的帖子: 计算机 图形 PictureBox 后台 空间 
2010-08-31 22:30
rootsucn
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2010-8-31
得分:0 
平行調整実験Ver1.06.rar (41.11 KB)

附上程序代码
请高人指点!!!
2010-08-31 22:42
rootsucn
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2010-8-31
得分:0 
[local]1[/local]
2010-08-31 22:42
风吹过
Rank: 1
等 级:新手上路
帖 子:2
专家分:4
注 册:2006-5-17
得分:0 
二个 PictureBox 重到一起,然后 在上面那个 PictureBox 捕捉鼠标,然后在下面那个 PictureBox 中绘图可以不?
2010-09-01 10:01
rootsucn
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2010-8-31
得分:0 
回复 4楼 风吹过
不可以的啊,原来在picturebox中可以即时绘制方格,计算鼠标移动速度等,用另一个picturebox控件一档上,被遮住的下面的picture就什么都不执行了
2010-09-01 11:51
makebest
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:658
专家分:962
注 册:2005-3-17
得分:20 
是不是可以重载 PictureBox 的 OnPaint 函数, 只画灰色背景色. VB 不太熟.
2010-09-01 13:13
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:0 
回复 4楼 风吹过
不可以的啊,原来在picturebox中可以即时绘制方格,计算鼠标移动速度等,用另一个picturebox控件一档上,被遮住的下面的picture就什么都不执行了

到上面那个 picturebox 上进行各种操作,绘图时,绘到下面那个 picturebox 里去,计算机又不用认图,你图是干什么用的?
给人看的?还是实时发给 设备的? 如果是给人看的,那么你计算 鼠标什么的,是用坐标去计算,又不是用图去计算的. 那图不画出来就是了.
如果是给设备的,那么在上面 那个 picturebox 里计算鼠标,然后再到另外的 picturebox 去绘图,再传给设置,有什么执行不了的?


到上面那个 picturebox 的鼠标移动响应过程中,调用下面 picturebox 的鼠标移动响应过程 ,行不?直接盖上去,肯定是不行的,必须有要代码支持的.

授人于鱼,不如授人于渔
早已停用QQ了
2010-09-01 14:40
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:0 

用 Picture1 盖掉 左边 的 PICBOX 后,加入下面语句进行处理,就OK了.

程序代码:
Private Sub Picture1_DblClick()
    LockMouse PICBOX                       '抄原来的
End Sub

Private Sub Picture1_KeyDown(KeyCode As Integer, Shift As Integer)
    Form_KeyDown KeyCode, Shift            '抄原来的
End Sub


Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Call PICBOX_MouseMove(Button, Shift, X, Y)    '把在  picture1 上的鼠标移动,调用到 picbox 上鼠标移动去.
End Sub

授人于鱼,不如授人于渔
早已停用QQ了
2010-09-01 14:53
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:0 
有几块的计算是与图形有关的,我没时间去看那个源代码了. 全是繁体的乱码.....
自己看看吧.让电脑取值取到 图形去就是了.你需要分析它的 原理 ,才能慢慢改.如果要我弄,没有一周弄不成.


授人于鱼,不如授人于渔
早已停用QQ了
2010-09-01 14:56
rootsucn
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2010-8-31
得分:0 
回复 9楼 风吹过b
您给我的代码完全正确!!
您真是高人啊!!!
2010-09-03 14:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-317362-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.383667 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved