Foxtable(狐表)用户栏目专家坐堂 → 狐表可以设计一个按钮像QQ一样截图吗?


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

主题:狐表可以设计一个按钮像QQ一样截图吗?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/20 14:13:00 [显示全部帖子]

 可以做,就是麻烦一些。

 

 截屏的代码如下,自己改造一下

 

Dim myGraphics As Graphics = basemainform.CreateGraphics()

Dim s As new Size(200, 100) '截取的大小

Dim bit As New Bitmap(s.Width, s.Height, myGraphics)
Dim memoryGraphics As Graphics = Graphics.FromImage(bit)
memoryGraphics.CopyFromScreen(100, 200, 0, 0, s) '截取的开始位置,坐标(100, 200)

bit.save("d:\test.jpg")


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/20 21:50:00 [显示全部帖子]

 呃,这样改

 

Dim myGraphics As Graphics = basemainform.CreateGraphics()
Dim s As new Size(2000, 1000) '截取的大小
Dim bit As New Bitmap(s.Width, s.Height, myGraphics)
Dim memoryGraphics As Graphics = Graphics.FromImage(bit)
memoryGraphics.CopyFromScreen(0, 0, 0, 0, s) '截取的开始位置,坐标(100, 200)
bit.save(Tables("表A").Current("第二列") & "\test.jpg" )

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/20 22:05:00 [显示全部帖子]

以那个窗口为基准?

 

Dim myGraphics As Graphics = basemainform.CreateGraphics()
Dim s As new Size(2000, 1000) '截取的大小
Dim bit As New Bitmap(s.Width, s.Height, myGraphics)
Dim memoryGraphics As Graphics = Graphics.FromImage(bit)
memoryGraphics.CopyFromScreen(Forms("窗口1").BaseForm.Left, Forms("窗口1").BaseForm.Top, 0, 0, s) '截取的开始位置,坐标(100, 200)
bit.save(Tables("表A").Current("第二列") & "\test.jpg" )
[此贴子已经被作者于2014-5-20 22:04:58编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/21 11:24:00 [显示全部帖子]

 请上传例子。我能说的都说了。不会改是自己的问题。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/21 12:11:00 [显示全部帖子]

 回复14楼,你的窗口,是停靠窗口?不能用停靠窗口,要用独立窗口。

 

 .BaseForm 停靠窗口是没有的。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/21 12:29:00 [显示全部帖子]

 停靠窗口是无法精确定位的,你自己改一下红色位置

 

Dim myGraphics As Graphics = basemainform.CreateGraphics()
Dim tb As WinForm.TabControl = e.Form.Controls("TabControl1")
Dim s As size
Dim pl As WinForm.Panel
If tb.SelectedPage.Text="Page1" Then
    pl=e.Form.Controls("Panel1")
    s= new Size(pl.Width ,pl.Height)
Else If tb.SelectedPage.Text="Page2" Then
    pl=e.Form.Controls("Panel2")
    s= new Size(pl.Width ,pl.Height)
End If
'Dim s As new Size(2000, 1000) '截取的大小

Dim x, y As Integer
x = SysInfo.ScreenWidth - e.Form.width + pl.Left + tb.Left
y = basemainform.controls("MainPages").top + 40 + pl.Top+tb.Top

Dim bit As New Bitmap(s.Width, s.Height, myGraphics)
Dim memoryGraphics As Graphics = Graphics.FromImage(bit)
memoryGraphics.CopyFromScreen(x, y, 0, 0, s) '截取的开始位置,坐标(100, 200)
bit.save("d:\test.jpg" )


 回到顶部