以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 绘图位置  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=108168)

--  作者:blsu33
--  发布时间:2017/10/17 15:52:00
--  [求助] 绘图位置


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20171017155030.png
图片点击可在新窗口打开查看

 

 

g.DrawImage(getImage(dr("图标")),x1*0.1,x1*0.1,y1*0.8,y1*0.9)

 

老师 这句应该怎么写?


--  作者:blsu33
--  发布时间:2017/10/17 15:53:00
--  

帮助文档是这么写的。

 

DrawImage(Image,x,y,width,height)


--  作者:有点蓝
--  发布时间:2017/10/17 17:11:00
--  
dim img1 As Image = GetImage(dr("图标"))
g.DrawImage(img1,x1*0.1,x1*0.1,y1*0.8,y1*0.9)

--  作者:blsu33
--  发布时间:2017/10/17 17:27:00
--  

 

老师

问题依旧

 

 


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20171017172257.png
图片点击可在新窗口打开查看

 

 

 

 


 


--  作者:blsu33
--  发布时间:2017/10/17 17:27:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:有点甜
--  发布时间:2017/10/17 17:32:00
--  

要转为整数

 

g.DrawImage(img1,cint(x1*0.1),cint(x1*0.1),cint(y1*0.8),cint(y1*0.9))

--  作者:blsu33
--  发布时间:2017/10/17 17:45:00
--  

老师

不是清除所有了,一个Pinter为何出现好多重复的

Dim i As Integer= 0
For Each dr As DataRow In DataTables("表A").DataRows
    Dim p As WinForm.Painter = e.Form.Controls(dr("控件名"))
    Dim g As Graphics = p.Graphics
    g.Clear(Color.GreenYellow)
    Dim img1 As Image = GetImage(dr("图标"))
    g.DrawImage(img1,cint(x1*0.1),cint(y1*0.1),cint(x1*0.6),cint(y1*0.9))
    Dim fnt As New Font("宋体",16)
    Dim msg As String = dr("简称")
    g.DrawString(msg,fnt,Brushes.Red,10,10)
    p.Repaint()
Next

 

 


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20171017174353.png
图片点击可在新窗口打开查看

 


 


--  作者:有点甜
--  发布时间:2017/10/17 20:02:00
--  

看看 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=106155&skin=0

 


--  作者:blsu33
--  发布时间:2017/10/18 10:21:00
--  

老师,

  没弄明白怎么根据SplitPane的大小,能使图片在 居中,文字在图片的下面居中与图片有点距离,文字长的压缩字符间距居中,应该怎么写?

 

Dim spl As WinForm.SplitContainer = e.Form.Controls("SplitContainer1")
Dim spl2 As WinForm.SplitContainer = e.Form.Controls("SplitContainer2")
Dim splpnl1 As WinForm.SplitPanel
Dim splpnl2 As WinForm.SplitPanel
Dim splpnl3 As WinForm.SplitPanel
splpnl1=spl.Panel1
splpnl2=spl.Panel2
splpnl3=spl2.Panel1
Dim x1 As Integer=splpnl1.width
Dim y1 As Integer=splpnl1.height
Dim x2 As Integer=splpnl2.width
Dim y2 As Integer=splpnl2.height
Dim x3 As Integer=splpnl3.width
Dim y3 As Integer=splpnl3.height
For Each dr As DataRow In DataTables("表A").DataRows
    Dim p As WinForm.Painter = e.Form.Controls(dr("控件名"))
    p.dock = 0
    p.width = 10000
    Dim g As Graphics = p.Graphics
    g.Clear(Color.GreenYellow)
    Dim img1 As Image = GetImage(dr("图标"))
    g.DrawImage(img1,cint(x1*0.1),cint(y1*0.1),cint(x1*0.5),cint(y1*0.8))
    Dim fnt As New Font("宋体",16)
    Dim msg As String = dr("简称")
    g.DrawString(msg,fnt,Brushes.Red,cint((dr("简称").length-x1))/2,cint(y1*0.8))
    p.Repaint()
Next

 


--  作者:有点甜
--  发布时间:2017/10/18 11:17:00
--  

 居中,设置 stringFormat即可,参考

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=108161&skin=0