注册 登录
编程论坛 VB6论坛

自定义坐标怎么设置的?

txxb 发布于 2014-12-11 09:53, 1061 次点击
两个点,pset (100, 200),让它显示在窗体左上角
pset (200, 100),让它显示在窗体右下角,
Form1.Scale怎么写?
18 回复
#2
lianyicq2014-12-11 09:59
form1.scalemode设为像素
Private Sub Form_Load()
Form1.Scale (100, 200)-(200, 100)
'Form1.PSet (100, 200), vbRed
'Form1.PSet (200, 100), vbRed
Form1.Circle (100, 200), 10
Form1.Circle (200, 100), 20
End Sub
#3
txxb2014-12-11 10:09
看看我的有问题吗?
Private Sub Form_Click()
DrawWidth = 20
'PSet (3210, 2911)
PSet (3210, 2941)
PSet (3380, 2911), vbRed
'PSet (3380, 2941)
End Sub

Private Sub Form_Load()
Form1.Scale (3210, 2941)-(3380, 2911)
End Sub
#4
lianyicq2014-12-11 10:14
回复 3楼 txxb
可以
再加下显示当前鼠标指针位置,就一目了然
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Form1.Caption = X & "," & Y
End Sub
#5
txxb2014-12-11 10:16
可是运行起来不对啊
#6
txxb2014-12-11 10:18
好像是哪里单位不对
#7
lianyicq2014-12-11 10:20
回复 6楼 txxb
只有本站会员才能查看附件,请 登录
autoredraw设为true就这样
#8
txxb2014-12-11 10:23
还是不行,奇怪
#9
lianyicq2014-12-11 10:25
回复 8楼 txxb
把工程传上来看看,可能是窗体属性问题
#10
txxb2014-12-11 10:28
只有本站会员才能查看附件,请 登录
#11
txxb2014-12-11 10:29
哦,我用了windowstate=max,可能和这个有关
#12
txxb2014-12-11 10:32
找到了,加句Form1.Show好了,
windowstate=max,这个玩了我好几次了,
#13
lianyicq2014-12-11 10:38
回复 12楼 txxb
只有本站会员才能查看附件,请 登录
窗体都显示了,和show不show无关。
你上传的工程,原样未动,点击窗体后显示就这样
#14
txxb2014-12-11 10:42
对呀,那你说问题在哪?
#15
lianyicq2014-12-11 10:47
回复 14楼 txxb
如果不加show是什么现象?
#16
txxb2014-12-11 10:49
不加show它是按我原来画的窗体的大小尺寸来显示的,没用最大化的尺寸
#17
lianyicq2014-12-11 10:59
回复 16楼 txxb
需要在最大化下绘图,scale不要在form1.load中
把Form1.Scale (3210, 2941)-(3380, 2911)移到点击窗体事件中就OK了。
#18
txxb2014-12-11 11:02
ok,感谢帮助
#19
pel465852014-12-24 13:41
因为LOAD的时候,窗体是它本身的大小
Private Sub Form_Load()
Form1.Scale (3210, 2941)-(3380, 2911)
End Sub
加载完了后,窗体的属性是自动最大化。尺寸变化了。所以在LOAD时的.Scale不适用于窗体最大化后的大小了。
试试下面的代码。比较一下就知道了。
Private Sub Form_Click()
Form1.Scale (3210, 2941)-(3380, 2911)
DrawWidth = 20
'PSet (3210, 2911)
PSet (3210, 2941)
PSet (3380, 2911), vbRed
'PSet (3380, 2941)
End Sub

[ 本帖最后由 pel46585 于 2014-12-24 13:42 编辑 ]
1