| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 931 人关注过本帖
标题:单击command一次,画出一根线,再单击一次,再画出下一根线
只看楼主 加入收藏
小懒889
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2013-3-25
结帖率:33.33%
收藏
已结贴  问题点数:20 回复次数:10 
单击command一次,画出一根线,再单击一次,再画出下一根线
在command的单击事件中,编写代码,画一根线,还有其他的公式画第二根,但是我把其他的代码输入,单击command,两根就一起出来了,不能单击一下出一根
我想要单击command一次,画出一根线,再单击一次,再画出下一根线
搜索更多相关主题的帖子: 其他 command 
2013-03-25 15:53
xbj_hyml
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:24
专家分:114
注 册:2012-11-28
收藏
得分:0 
不太明白你的意思,每条线之间的关系是怎样的?
    能不能附上一段代码 看下...

懂点基础--好多控件不知道--NB代码不会写--所以一直求教中...
2013-03-25 16:55
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:7 
dim linejs as long

private command1_click()
if linejs=0 then
   call line1    '画第一根线
   linejs=1
elseif linejs=1 then
   call line2    '画第二根线
   linejs=2
else
   '如果还有第三根线,第四根,按照 画第二根线的增加,或者改成 select case 的模式
end if
end sub

授人于鱼,不如授人于渔
早已停用QQ了
2013-03-25 17:06
lcs19970906
Rank: 1
等 级:新手上路
帖 子:3
专家分:7
注 册:2013-3-25
收藏
得分:7 
好像没什么问题。
2013-03-25 18:56
小懒889
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2013-3-25
收藏
得分:0 
回复 3楼 风吹过b
我是用Picture1.Line (0, t)-(x4, y4)这个画直线的,这个怎么编写代码呢?谢谢啦
2013-03-27 10:11
小懒889
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2013-3-25
收藏
得分:0 
回复 2楼 xbj_hyml
Dim x4, y4 As Single
    t = -20
    Pq = Pk(t)
    x4 = 622 * Pq / (101325 - Pq)
    y4 = t + x4 / 2000 * (2500 + 1.84 * t) - x4
    If x4 <= 42 And y4 <= 65 Then
       Picture1.Line (0, t)-(x4, y4), vbBlack
    ElseIf x4 > 42 And y4 < 65 Then
       x4 = 42
       y4 = t + x4 / 2000 * (2500 + 1.84 * t) - x4
     Picture1.Line (0, t)-(x4, y4), vbBlack
    ElseIf y4 > 65 Then
       y4 = 65
       x4 = (y4 - t) * 2000 / (500 + 1.84 * t)
        If x4 > 42 Then
          x4 = 42
          y4 = t + x4 / 2000 * (2500 + 1.84 * t) - x4
          Picture1.Line (0, t)-(x4, y4), vbBlack
       Else
       Picture1.Line (0, t)-(x4, y4), vbBlack
       End If
    End If
这是我那一根线的代码,下一根就是把t=-20改成t=-19
2013-03-27 10:12
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
dim linejs as long

private command1_click()
if linejs=0 then
   call  fx(-20)    '画第一根线
   linejs=1
elseif linejs=1 then
   call fx(-19)    '画第二根线
   linejs=2
else
   '如果还有第三根线,第四根,按照 画第二根线的增加,或者改成 select case 的模式
end if
end sub

private  sub fx(t as long)
Dim x4, y4 As Single
   
    Pq = Pk(t)
    x4 = 622 * Pq / (101325 - Pq)
    y4 = t + x4 / 2000 * (2500 + 1.84 * t) - x4
    If x4 <= 42 And y4 <= 65 Then
       Picture1.Line (0, t)-(x4, y4), vbBlack
    ElseIf x4 > 42 And y4 < 65 Then
       x4 = 42
       y4 = t + x4 / 2000 * (2500 + 1.84 * t) - x4
     Picture1.Line (0, t)-(x4, y4), vbBlack
    ElseIf y4 > 65 Then
       y4 = 65
       x4 = (y4 - t) * 2000 / (500 + 1.84 * t)
        If x4 > 42 Then
          x4 = 42
          y4 = t + x4 / 2000 * (2500 + 1.84 * t) - x4
          Picture1.Line (0, t)-(x4, y4), vbBlack
       Else
       Picture1.Line (0, t)-(x4, y4), vbBlack
       End If
    End If
end sub

授人于鱼,不如授人于渔
早已停用QQ了
2013-03-27 10:46
小懒889
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2013-3-25
收藏
得分:0 
回复 7楼 风吹过b
谢谢,可是还是两根一起出来啊!
2013-03-27 11:01
xbj_hyml
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:24
专家分:114
注 册:2012-11-28
收藏
得分:7 
Private Sub Command1_Click()
    Static num As Integer
    If num Mod 2 = 0 Then
        Picture1.Line (0, num * 30)-(Picture1.Width, num * 30), vbRed
    Else
        Picture1.Line (0, num * 30)-(Picture1.Width, num * 30), vbGreen
    End If
    num = num + 1
End Sub
----------------你试试这段代码效果,是不是要这样?
如果是按 风吹过B 的代码,那也不会出现 点击一次 有2根线 ,除非你放在了循环里面


懂点基础--好多控件不知道--NB代码不会写--所以一直求教中...
2013-03-27 11:54
小懒889
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2013-3-25
收藏
得分:0 
回复 7楼 风吹过b
谢谢啦,是我弄错了,代码是正确的,谢谢啦,
2013-03-27 13:35
快速回复:单击command一次,画出一根线,再单击一次,再画出下一根线
数据加载中...
 
   



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

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