回 帖 发 新 帖 刷新版面

主题:看来很简单,结果搞不懂的小程序。

Private Sub Form_Load()
Timer1.Interval = 100
Text1.FontSize = 9
End Sub

Private Sub Timer1_Timer()
If Text1.FontSize = 50 Then Timer1.Enabled = False
Text1.FontSize = Text1.FontSize + 1
End Sub
  请问 Text1.FontSize = 50 能成立吗? 为什么?别告诉我改成Text1.FontSize >= 50 这个我知道,我就想知道为啥fontsize不能得50

回复列表 (共20个回复)

11 楼

要指导win是不是也这样,将步长通过窗体的文本框输入,将上述代码生成exe,将数据输出到窗体。我来试试看。

Private Sub Command1_Click()
    If Val(Text2) > 0.3 Then
        Me.Cls
        Timer1.Enabled = True
    Else
        MsgBox "增长需要动力"
    End If
End Sub

Private Sub Form_Load()
     Timer1.Interval = 100
     Timer1.Enabled = False
     Text1.FontSize = 40
     Command1.Caption = "开始"
 End Sub

 Private Sub Timer1_Timer()
     If Text1.FontSize > 60 Then Timer1.Enabled = False
     Text1.FontSize = Text1.FontSize + Val(Text2)
     Print Text1.FontSize
  End Sub


12 楼

似乎在不同的机器上也不一样。

换了一台机器,40上面是41.25,然后就是48……

再换了一台机器,和第二台一样

41.25

48

54

60

67.5

72


13 楼

这个问题出在哪里?等秋水兄继续研究……

14 楼

修改我机器的分辨率为(100%)后获得系列(增量1~0.4):

40.5

41.25

42

42.75

43.5

44.25

45

45.75

46.5

47.25

48

……

增量1.1获得系列

40.5

42

42.75

44.25

45.75

47.25

48.75

50.25

51.75

52.5

……

增量1.2~1.8获得系列:

41.25

42.75

44.25

45.75

47.25

……

增量1.9~2.5获得系列

42

44.25

46.5

48.75

51

53.25

55.5

57.75

60

……

由此可以看出,实际增量为

0.75、1.5、2.25……都是0.75的整数倍。原来0.6的整数倍是在125%分辨率下获得。

再看看其他分辨率

15 楼

在150%分辨率下,同100%分辨率。回到125%分辨率,仍然是原来125%的初始数据。

由此基本可以得出结论,这个所谓的“字号”有一个最小变化幅度,这个最小幅度在不同的分辨率下不同。

至于最小幅度与分辨率之间的关系,尚需进一步研究。

16 楼

关于分辨率:

如果调整分辨率了,程序能不能自适应的调整,从而让界面显示不至于太肥大。

17 楼

同意老大的结论,我实验的结果,也是0.75的倍数,看来整个WINDOWS的字体都是这样变化的

18 楼

学习了,字号变化不是我们理解的 123456789的。。。。第一次见到

19 楼

你们终于 明白我的意思了 好高兴啊 谢谢 老大徒伤悲  及其他各位 你们研究的跟我研究的结果一致。

20 楼

因为有的电脑不一样,大于50很正常

我来回复

您尚未登录,请登录后再回复。点此登录或注册