home *** CD-ROM | disk | FTP | other *** search
/ PC-Test Pro / PCTESTPRO.iso / video / qtest / entp / pattern.frm (.txt) next >
Encoding:
Visual Basic Form  |  1995-04-06  |  12.5 KB  |  335 lines

  1. VERSION 2.00
  2. Begin Form PatternForm 
  3.    AutoRedraw      =   -1  'True
  4.    BorderStyle     =   0  'None
  5.    ClientHeight    =   3465
  6.    ClientLeft      =   1050
  7.    ClientTop       =   1620
  8.    ClientWidth     =   5700
  9.    ClipControls    =   0   'False
  10.    ControlBox      =   0   'False
  11.    FontBold        =   0   'False
  12.    FontItalic      =   0   'False
  13.    FontName        =   "Arial"
  14.    FontSize        =   8.25
  15.    FontStrikethru  =   0   'False
  16.    FontUnderline   =   0   'False
  17.    Height          =   3870
  18.    Left            =   990
  19.    LinkTopic       =   "Form2"
  20.    MaxButton       =   0   'False
  21.    MinButton       =   0   'False
  22.    ScaleHeight     =   231
  23.    ScaleMode       =   3  'Pixel
  24.    ScaleWidth      =   380
  25.    Top             =   1275
  26.    Visible         =   0   'False
  27.    Width           =   5820
  28.    WindowState     =   2  'Maximized
  29.    Begin Timer Timer1 
  30.       Interval        =   500
  31.       Left            =   232
  32.       Top             =   200
  33.    End
  34.    Begin Label PatternLabel 
  35.       Alignment       =   2  'Center
  36.       AutoSize        =   -1  'True
  37.       BackColor       =   &H00FFFFFF&
  38.       BorderStyle     =   1  'Fixed Single
  39.       FontBold        =   -1  'True
  40.       FontItalic      =   0   'False
  41.       FontName        =   "MS Sans Serif"
  42.       FontSize        =   12
  43.       FontStrikethru  =   0   'False
  44.       FontUnderline   =   0   'False
  45.       ForeColor       =   &H00FF0000&
  46.       Height          =   330
  47.       Left            =   2700
  48.       TabIndex        =   0
  49.       Top             =   1080
  50.       Visible         =   0   'False
  51.       Width           =   135
  52.    End
  53. Option Explicit
  54. DefInt A-Z
  55. Sub Form_Activate ()
  56.    FirstConvTest = False
  57.    ' Label visible only during Focus test
  58.    If WhichPattern <> FOCUS Then PatternLabel.Visible = False
  59.    ' Display the appropriate pattern
  60.    ' (No need to draw pattern if same as last time.)
  61.    If WhichPattern <> OldPattern Then
  62.       Select Case WhichPattern
  63.          Case FOCUS
  64.             OldPattern = WhichPattern
  65.             FocusPattern
  66.          Case GEOMETRY
  67.             OldPattern = WhichPattern
  68.             GeometryPattern
  69.          Case CONVTEST
  70.             OldPattern = WhichPattern
  71.             FirstConvTest = True
  72.             HConvPattern
  73.          Case CONVADJUST
  74.             OldPattern = WhichPattern
  75.             DrawGrid 6, 8
  76.          Case COLORTRACKING
  77.             OldPattern = WhichPattern
  78.             ColorTrackingPattern
  79.          Case PURITY
  80.             OldPattern = WhichPattern
  81.             PurityPattern
  82.       End Select
  83.    End If
  84. End Sub
  85. Sub Form_Click ()
  86.    If FirstConvTest = True Then
  87.       ' Clicking on HConvPattern when it has been
  88.       ' displayed only once brings up VConvPattern
  89.       ' instead of returning you to the main window.
  90.       VConvPattern
  91.    Else
  92.       ' Hide pattern form; return to main window.
  93.       PatternForm.Visible = False
  94.    End If
  95. End Sub
  96. Sub Form_KeyDown (KeyCode As Integer, Shift As Integer)
  97.    'Keystroke handler for keys that KeyPress can't handle
  98.    Dim OldFontSize As Single
  99.    Dim OldFontName$
  100.    ShiftState = Shift
  101.    ' Process the following keystrokes:
  102.    Select Case KeyCode
  103.       
  104.       Case KEY_F1    'F1 brings up help screen
  105.          HelpForm.Show
  106.       
  107.       Case KEY_UP    'Up-arrow
  108.          ' Handle differently for different patterns
  109.          Select Case WhichPattern
  110.             Case FOCUS
  111.                'increase size of font
  112.                If PatternForm.FontSize < 16 Then
  113.                   OldFontSize = PatternForm.FontSize
  114.                   FocusFontSize = OldFontSize
  115.                   OldFontName$ = PatternForm.FontName
  116.                   Do     'try increasing size in small increments
  117.                      FocusFontSize = FocusFontSize + .25
  118.                      PatternForm.FontSize = FocusFontSize
  119.                      PatternForm.FontName = FocusFont$
  120.                      PatternForm.FontSize = FocusFontSize
  121.                      'Form's font size won't change until it is a valid size
  122.                      If PatternForm.FontSize <> OldFontSize Then
  123.                         If UCase$(OldFontName$) = "MS SERIF" Then
  124.                            'MS Serif skips this True Type size
  125.                            PatternForm.FontSize = 7.5
  126.                         End If
  127.                         Exit Do
  128.                      End If
  129.                      If FocusFontSize > 16.5 Then
  130.                         'Don't let it get too large
  131.                         PatternForm.FontSize = OldFontSize
  132.                         Exit Do
  133.                      End If
  134.                   Loop
  135.                   If PatternForm.FontSize <> OldFontSize Then FocusPattern
  136.                End If
  137.             Case GEOMETRY
  138.                'increase size of grid squares (decrease number)
  139.                NumCols = NumCols - 4
  140.                If NumCols < 4 Then NumCols = 4
  141.                GeometryPattern
  142.             Case CONVTEST
  143.                'increase flashing interval
  144.                If TimeInterval < 1001 Then
  145.                   TimeInterval = TimeInterval * 2
  146.                   PatternForm.Timer1.Interval = TimeInterval
  147.                End If
  148.             Case COLORTRACKING
  149.                'increase number of gray squares
  150.                If NumberOfGrays < 129 Then
  151.                   NumberOfGrays = NumberOfGrays * 2
  152.                   ColorTrackingPattern
  153.                End If
  154.          End Select
  155.       
  156.       Case KEY_DOWN     'Down-arrow
  157.          ' Handle differently for different patterns
  158.          Select Case WhichPattern
  159.             Case FOCUS
  160.                'decrease size of font
  161.                If PatternForm.FontSize > 4 Then
  162.                   OldFontSize = PatternForm.FontSize
  163.                   FocusFontSize = OldFontSize
  164.                   Do
  165.                      FocusFontSize = FocusFontSize - .25
  166.                      PatternForm.FontSize = FocusFontSize
  167.                      PatternForm.FontName = FocusFont$
  168.                      PatternForm.FontSize = FocusFontSize
  169.                      If PatternForm.FontSize <> OldFontSize Then Exit Do
  170.                      If FocusFontSize < 3.5 Then
  171.                         PatternForm.FontSize = OldFontSize
  172.                         FocusFontSize = OldFontSize
  173.                         Exit Do
  174.                      End If
  175.                   Loop
  176.                   If PatternForm.FontSize <> OldFontSize Then FocusPattern
  177.                End If
  178.             Case GEOMETRY
  179.                'decrease size of grid squares (increase number)
  180.                NumCols = NumCols + 4
  181.                If NumCols > 80 Then NumCols = 80
  182.                GeometryPattern
  183.             Case CONVTEST
  184.                'decrease flashing interval
  185.                If TimeInterval > 100 Then
  186.                   TimeInterval = TimeInterval / 2
  187.                   PatternForm.Timer1.Interval = TimeInterval
  188.                End If
  189.             Case COLORTRACKING
  190.                'increase number of gray squares
  191.                If NumberOfGrays > 5 Then
  192.                   NumberOfGrays = NumberOfGrays / 2
  193.                   ColorTrackingPattern
  194.                End If
  195.          End Select
  196.    End Select
  197. End Sub
  198. Sub Form_KeyPress (KeyAscii As Integer)
  199.    'Handles some keystrokes. See KeyDown for other keystrokes.
  200.    Dim OldFontSize As Single
  201.    Dim OldFontName$
  202.    'Process the following keystrokes:
  203.    Select Case KeyAscii
  204.       
  205.       Case 27, 81, 113  'ESC or Q or q key returns to menu
  206.          WhichPattern = 0
  207.          PatternForm.Hide
  208.          MainForm.Show
  209.       
  210.       Case 72, 104   ' h or H changes to H. conv. pattern
  211.          If WhichPattern = CONVTEST Then
  212.             If ConvOrient <> HORIZONTAL Then HConvPattern
  213.          End If
  214.       
  215.       Case 86, 118   ' v or V changes to V. conv. pattern
  216.          If WhichPattern = CONVTEST Then
  217.             If ConvOrient <> VERTICAL Then VConvPattern
  218.          End If
  219.       
  220.       Case 47, 63    ' / or ? brings up help screen
  221.          HelpForm.Show
  222.       
  223.       Case 43, 61    ' + or =
  224.          'handle differently for different patterns
  225.          Select Case WhichPattern
  226.             Case FOCUS
  227.                'increase size of font
  228.                If PatternForm.FontSize < 16 Then
  229.                   OldFontSize = PatternForm.FontSize
  230.                   FocusFontSize = OldFontSize
  231.                   OldFontName$ = PatternForm.FontName
  232.                   Do     'try increasing size in small increments
  233.                      FocusFontSize = FocusFontSize + .25
  234.                      PatternForm.FontSize = FocusFontSize
  235.                      PatternForm.FontName = FocusFont$
  236.                      PatternForm.FontSize = FocusFontSize
  237.                      'Form's font size won't change until it is a valid size
  238.                      If PatternForm.FontSize <> OldFontSize Then
  239.                         If UCase$(OldFontName$) = "MS SERIF" Then
  240.                            'MS Serif skips this True Type size
  241.                            PatternForm.FontSize = 7.5
  242.                         End If
  243.                         Exit Do
  244.                      End If
  245.                      If FocusFontSize > 16.5 Then
  246.                         'Don't let it get too large
  247.                         PatternForm.FontSize = OldFontSize
  248.                         Exit Do
  249.                      End If
  250.                   Loop
  251.                   If PatternForm.FontSize <> OldFontSize Then FocusPattern
  252.                End If
  253.             Case GEOMETRY
  254.                'increase size of grid squares (decrease number)
  255.                NumCols = NumCols - 4
  256.                If NumCols < 4 Then NumCols = 4
  257.                GeometryPattern
  258.             Case CONVTEST
  259.                'increase flashing interval
  260.                If TimeInterval < 1001 Then
  261.                   TimeInterval = TimeInterval * 2
  262.                   PatternForm.Timer1.Interval = TimeInterval
  263.                End If
  264.             Case COLORTRACKING
  265.                'increase number of gray rectangles
  266.                If NumberOfGrays < 129 Then
  267.                   NumberOfGrays = NumberOfGrays * 2
  268.                   ColorTrackingPattern
  269.                End If
  270.          End Select
  271.       
  272.       Case 45, 95   ' - or _
  273.          'handle differently for different patterns
  274.          Select Case WhichPattern
  275.             Case FOCUS
  276.                'decrease size of font
  277.                If PatternForm.FontSize > 4 Then
  278.                   OldFontSize = PatternForm.FontSize
  279.                   FocusFontSize = OldFontSize
  280.                   Do       'try decreasing size in small increments
  281.                      FocusFontSize = FocusFontSize - .25
  282.                      PatternForm.FontSize = FocusFontSize
  283.                      PatternForm.FontName = FocusFont$
  284.                      PatternForm.FontSize = FocusFontSize
  285.                      'Form's font size won't change until it is a valid size
  286.                      If PatternForm.FontSize <> OldFontSize Then Exit Do
  287.                      If FocusFontSize < 3.5 Then
  288.                         'Don't let it get too small.
  289.                         PatternForm.FontSize = OldFontSize
  290.                         FocusFontSize = OldFontSize
  291.                         Exit Do
  292.                      End If
  293.                   Loop
  294.                   If PatternForm.FontSize <> OldFontSize Then FocusPattern
  295.                End If
  296.             Case GEOMETRY
  297.                'decrease size of grid squares (increase number)
  298.                NumCols = NumCols + 4
  299.                If NumCols > 80 Then NumCols = 80
  300.                GeometryPattern
  301.             Case CONVTEST
  302.                'decrease flashing interval
  303.                If TimeInterval > 100 Then
  304.                   TimeInterval = TimeInterval / 2
  305.                   PatternForm.Timer1.Interval = TimeInterval
  306.                End If
  307.             Case COLORTRACKING
  308.                'increase number of gray squares
  309.                If NumberOfGrays > 5 Then
  310.                   NumberOfGrays = NumberOfGrays / 2
  311.                   ColorTrackingPattern
  312.                End If
  313.          End Select
  314.    End Select
  315. End Sub
  316. Sub Form_Load ()
  317.    PatternForm.FontName = FocusFont$
  318.    PatternForm.FontSize = FocusFontSize
  319. End Sub
  320. Sub Timer1_Timer ()
  321.    'Switch convergence test pattern colors after a
  322.    'specified period of time (Timer1.Interval)
  323.    If WhichPattern = CONVTEST Then
  324.       'change colors of lines
  325.       If ConvOrient = HORIZONTAL Then
  326.          HConvPattern
  327.       ElseIf ConvOrient = VERTICAL Then
  328.          VConvPattern
  329.       Else
  330.          ConvOrient = HORIZONTAL
  331.          HConvPattern
  332.       End If
  333.    End If
  334. End Sub
  335.