home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / howtos1r / frmgraph.frm (.txt) next >
Encoding:
Visual Basic Form  |  1999-08-11  |  9.5 KB  |  283 lines

  1. VERSION 5.00
  2. Object = "{60CC5D62-2D08-11D0-BDBE-00AA00575603}#1.0#0"; "SysTray.ocx"
  3. Begin VB.Form frmGraph 
  4.    BackColor       =   &H00000000&
  5.    BorderStyle     =   1  'Fixed Single
  6.    Caption         =   "Mem Viewer Version 3"
  7.    ClientHeight    =   1950
  8.    ClientLeft      =   45
  9.    ClientTop       =   330
  10.    ClientWidth     =   4680
  11.    ControlBox      =   0   'False
  12.    Icon            =   "frmGraph.frx":0000
  13.    LinkTopic       =   "Form1"
  14.    MaxButton       =   0   'False
  15.    ScaleHeight     =   130
  16.    ScaleMode       =   3  'Pixel
  17.    ScaleWidth      =   312
  18.    ShowInTaskbar   =   0   'False
  19.    StartUpPosition =   2  'CenterScreen
  20.    Visible         =   0   'False
  21.    Begin SysTrayCtl.cSysTray SysTray 
  22.       Left            =   2280
  23.       Top             =   1560
  24.       _ExtentX        =   900
  25.       _ExtentY        =   900
  26.       InTray          =   -1  'True
  27.       TrayIcon        =   "frmGraph.frx":0442
  28.       TrayTip         =   "(GRAPH V3)"
  29.    End
  30.    Begin VB.Timer tmrUpdate 
  31.       Interval        =   1000
  32.       Left            =   2880
  33.       Top             =   1680
  34.    End
  35.    Begin VB.PictureBox Picture1 
  36.       BackColor       =   &H00000000&
  37.       Height          =   1590
  38.       Left            =   480
  39.       ScaleHeight     =   102
  40.       ScaleMode       =   3  'Pixel
  41.       ScaleWidth      =   277
  42.       TabIndex        =   3
  43.       Top             =   0
  44.       Width           =   4215
  45.       Begin VB.PictureBox picGraph 
  46.          AutoRedraw      =   -1  'True
  47.          BackColor       =   &H00000000&
  48.          BorderStyle     =   0  'None
  49.          Height          =   1500
  50.          Left            =   3960
  51.          ScaleHeight     =   100
  52.          ScaleMode       =   3  'Pixel
  53.          ScaleWidth      =   10
  54.          TabIndex        =   7
  55.          Top             =   15
  56.          Width           =   150
  57.       End
  58.    End
  59.    Begin VB.Label lblopt 
  60.       AutoSize        =   -1  'True
  61.       BackStyle       =   0  'Transparent
  62.       Caption         =   "Minimize"
  63.       ForeColor       =   &H0000FF00&
  64.       Height          =   195
  65.       Index           =   3
  66.       Left            =   1800
  67.       TabIndex        =   11
  68.       Top             =   1680
  69.       Width           =   600
  70.    End
  71.    Begin VB.Label lblCurrent 
  72.       AutoSize        =   -1  'True
  73.       BackStyle       =   0  'Transparent
  74.       Caption         =   "0%"
  75.       ForeColor       =   &H00FFFF00&
  76.       Height          =   195
  77.       Index           =   2
  78.       Left            =   0
  79.       TabIndex        =   10
  80.       ToolTipText     =   "Available Virtual"
  81.       Top             =   960
  82.       Width           =   210
  83.    End
  84.    Begin VB.Label lblCurrent 
  85.       AutoSize        =   -1  'True
  86.       BackStyle       =   0  'Transparent
  87.       Caption         =   "0%"
  88.       ForeColor       =   &H0000FF00&
  89.       Height          =   195
  90.       Index           =   1
  91.       Left            =   0
  92.       TabIndex        =   9
  93.       ToolTipText     =   "Available Physical"
  94.       Top             =   720
  95.       Width           =   210
  96.    End
  97.    Begin VB.Label lblPos 
  98.       Alignment       =   1  'Right Justify
  99.       AutoSize        =   -1  'True
  100.       BackStyle       =   0  'Transparent
  101.       Caption         =   "Curr. Pos"
  102.       ForeColor       =   &H0000FF00&
  103.       Height          =   195
  104.       Left            =   3960
  105.       TabIndex        =   8
  106.       Top             =   1680
  107.       Width           =   645
  108.    End
  109.    Begin VB.Label lblopt 
  110.       BackStyle       =   0  'Transparent
  111.       Caption         =   "Quit"
  112.       ForeColor       =   &H0000FF00&
  113.       Height          =   255
  114.       Index           =   2
  115.       Left            =   1320
  116.       TabIndex        =   6
  117.       Top             =   1680
  118.       Width           =   615
  119.    End
  120.    Begin VB.Label lblopt 
  121.       AutoSize        =   -1  'True
  122.       BackStyle       =   0  'Transparent
  123.       Caption         =   "Save"
  124.       ForeColor       =   &H0000FF00&
  125.       Height          =   195
  126.       Index           =   1
  127.       Left            =   720
  128.       TabIndex        =   5
  129.       Top             =   1680
  130.       Width           =   375
  131.    End
  132.    Begin VB.Label lblopt 
  133.       AutoSize        =   -1  'True
  134.       BackStyle       =   0  'Transparent
  135.       Caption         =   "View"
  136.       ForeColor       =   &H0000FF00&
  137.       Height          =   195
  138.       Index           =   0
  139.       Left            =   120
  140.       TabIndex        =   4
  141.       Top             =   1680
  142.       Width           =   345
  143.    End
  144.    Begin VB.Label lblCurrent 
  145.       AutoSize        =   -1  'True
  146.       BackStyle       =   0  'Transparent
  147.       Caption         =   "0%"
  148.       ForeColor       =   &H000000FF&
  149.       Height          =   195
  150.       Index           =   0
  151.       Left            =   0
  152.       TabIndex        =   2
  153.       ToolTipText     =   "Memory Load"
  154.       Top             =   480
  155.       Width           =   210
  156.    End
  157.    Begin VB.Label lblmisc 
  158.       AutoSize        =   -1  'True
  159.       BackStyle       =   0  'Transparent
  160.       Caption         =   "0%"
  161.       ForeColor       =   &H0000FF00&
  162.       Height          =   195
  163.       Index           =   1
  164.       Left            =   0
  165.       TabIndex        =   1
  166.       Top             =   1320
  167.       Width           =   210
  168.    End
  169.    Begin VB.Label lblmisc 
  170.       AutoSize        =   -1  'True
  171.       BackStyle       =   0  'Transparent
  172.       Caption         =   "100%"
  173.       ForeColor       =   &H0000FF00&
  174.       Height          =   195
  175.       Index           =   0
  176.       Left            =   0
  177.       TabIndex        =   0
  178.       Top             =   0
  179.       Width           =   390
  180.    End
  181. Attribute VB_Name = "frmGraph"
  182. Attribute VB_GlobalNameSpace = False
  183. Attribute VB_Creatable = False
  184. Attribute VB_PredeclaredId = True
  185. Attribute VB_Exposed = False
  186. Private Declare Sub GlobalMemoryStatus Lib "kernel32" (lpBuffer As MEMORYSTATUS)
  187. Private Type MEMORYSTATUS
  188.     dwLength As Long
  189.     dwMemoryLoad As Long
  190.     dwTotalPhys As Long
  191.     dwAvailPhys As Long
  192.     dwTotalPageFile As Long
  193.     dwAvailPageFile As Long
  194.     dwTotalVirtual As Long
  195.     dwAvailVirtual As Long
  196. End Type
  197. Dim lpInfoBuffer As MEMORYSTATUS
  198. Private Sub Form_Load()
  199. LOAD App.Path + "\GRAPH.DAT" 'Load the Old Graph
  200. frmGraph.picGraph.Line (Currpos, 0)-(Currpos, 100), RGB(255, 255, 255)
  201. picGraph.Line (Currpos, 0)-(Currpos, 100), RGB(255, 255, 255)
  202. 'Currpos = 1
  203. End Sub
  204. Private Sub Form_Resize()
  205. On Error Resume Next
  206. 'Picture1.Width = Me.ScaleWidth - lblmisc(0).Width
  207. picGraph.Left = Picture1.ScaleWidth - picGraph.Width
  208. Me.Height = 2355
  209. End Sub
  210. Private Sub lblOpt_Click(Index As Integer)
  211. Select Case Index
  212.     Case 0
  213.         'VIEW
  214.         frmView.picView.Width = picGraph.Width
  215.         frmView.picView.Picture = picGraph.Image
  216.         frmView.Show
  217.     Case 1
  218.         'SAVE
  219.         SAVE App.Path + "\graph.dat" 'Save the Graph (reloaded in Form_Load)
  220.     Case 2
  221.         'QUIT
  222.         X = MsgBox("Are You Sure that you want to quit?", vbYesNo, "Quit")
  223.         If X = 6 Then
  224.             p = MsgBox("Do You want to Save the Graph?", vbYesNo, "Save")
  225.             If p = 6 Then
  226.                 SAVE App.Path + "\graph.dat" 'Save the Graph (reloaded in Form_Load)
  227.             End If
  228.             Unload Me
  229.             End
  230.         End If
  231.                 lblopt(2).ForeColor = RGB(0, 255, 0)
  232.     Case 3
  233.         'MINIMIZE
  234.         Me.Visible = False      'Unloading or minimizing does not work
  235.         SysTray.InTray = True
  236. End Select
  237. End Sub
  238. Private Sub lblOpt_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
  239. Select Case Index
  240.     Case 0
  241.         lblopt(0).ForeColor = RGB(255, 0, 0)
  242.     Case 1
  243.         lblopt(1).ForeColor = RGB(255, 0, 0)
  244.     Case 2
  245.         lblopt(2).ForeColor = RGB(255, 0, 0)
  246. End Select
  247. End Sub
  248. Private Sub lblOpt_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
  249. If Index = 1 Then
  250. lblopt(0).ForeColor = RGB(0, 255, 0)
  251. End If
  252. End Sub
  253. Private Sub SysTray_MouseDblClick(Button As Integer, Id As Long)
  254. frmGraph.Visible = False
  255. End Sub
  256. Private Sub SysTray_MouseDown(Button As Integer, Id As Long)
  257. frmGraph.Visible = True
  258. End Sub
  259. Private Sub tmrUpdate_Timer()
  260. If Currpos < 32767 Then 'Make sure that it doesn't go out of bounds of INTEGER Data type
  261.     picGraph.Left = picGraph.Left - 1
  262.     picGraph.Width = picGraph.Width + 1
  263.     Currpos = Currpos + 1
  264.     lblPos.Caption = "Curr. Pos=" & Currpos
  265.     lpInfoBuffer.dwLength = Len(lpInfoBuffer)
  266.     GlobalMemoryStatus lpInfoBuffer
  267.     MemPC = lpInfoBuffer.dwMemoryLoad
  268.     PhysPC = Int((lpInfoBuffer.dwAvailPhys / lpInfoBuffer.dwTotalPhys) * 100)
  269.     VirtPC = Int((lpInfoBuffer.dwAvailVirtual / lpInfoBuffer.dwTotalVirtual) * 100)
  270.     lblCurrent(0) = MemPC & "%"
  271.     lblCurrent(1) = PhysPC & "%"
  272.     lblCurrent(2) = VirtPC & "%"
  273.     MemLoad(Currpos) = MemPC
  274.     Phys(Currpos) = PhysPC
  275.     Virt(Currpos) = VirtPC
  276.     picGraph.Line (Currpos - 1, 100 - MemLoad(Currpos - 1))-(Currpos, 100 - MemLoad(Currpos)), RGB(255, 0, 0)
  277.     picGraph.Line (Currpos - 1, 100 - Phys(Currpos - 1))-(Currpos, 100 - Phys(Currpos)), RGB(0, 255, 0)
  278.     picGraph.Line (Currpos - 1, 100 - Virt(Currpos - 1))-(Currpos, 100 - Virt(Currpos)), RGB(0, 255, 255)
  279.     SysTray.TrayTip = "Mem Load=" & MemPC & "%, " & "Phys Load=" & PhysPC & "%, " & "Virt Load=" & VirtPC & "%"
  280.     MsgBox "The Graph consists of too much data (more than 32767 entries). Please Close the Program and start again." & Chr$(13) & " If troubles persist, delete the file: " & App.Path + "\Graph.Dat", vbInformation, "Error"
  281. End If
  282. End Sub
  283.