home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Programmer'…arterly (Limited Edition) / Visual_Basic_Programmers_Journal_VB-CD_Quarterly_Limited_Edition_1995.iso / code / ch26code / aboutbox.frm < prev    next >
Text File  |  1995-08-01  |  12KB  |  344 lines

  1. VERSION 4.00
  2. Begin VB.Form AboutBox 
  3.    BorderStyle     =   3  'Fixed Dialog
  4.    Caption         =   "About AppCompanyName"
  5.    ClientHeight    =   4095
  6.    ClientLeft      =   1290
  7.    ClientTop       =   1485
  8.    ClientWidth     =   6450
  9.    ClipControls    =   0   'False
  10.    ControlBox      =   0   'False
  11.    BeginProperty Font 
  12.       name            =   "MS Sans Serif"
  13.       charset         =   0
  14.       weight          =   700
  15.       size            =   8.25
  16.       underline       =   0   'False
  17.       italic          =   0   'False
  18.       strikethrough   =   0   'False
  19.    EndProperty
  20.    Height          =   4500
  21.    Icon            =   "aboutbox.frx":0000
  22.    Left            =   1230
  23.    LinkMode        =   1  'Source
  24.    LinkTopic       =   "About"
  25.    MaxButton       =   0   'False
  26.    MinButton       =   0   'False
  27.    ScaleHeight     =   4095
  28.    ScaleWidth      =   6450
  29.    Top             =   1140
  30.    Width           =   6570
  31.    Begin VB.PictureBox pic 
  32.       Appearance      =   0  'Flat
  33.       AutoRedraw      =   -1  'True
  34.       BackColor       =   &H00C0C0C0&
  35.       BorderStyle     =   0  'None
  36.       ClipControls    =   0   'False
  37.       ForeColor       =   &H80000008&
  38.       Height          =   480
  39.       Left            =   120
  40.       Picture         =   "aboutbox.frx":030A
  41.       ScaleHeight     =   480
  42.       ScaleWidth      =   480
  43.       TabIndex        =   15
  44.       Top             =   135
  45.       Width           =   480
  46.    End
  47.    Begin VB.CommandButton cmdSysInfo 
  48.       Caption         =   "&System Info..."
  49.       Height          =   375
  50.       Left            =   4950
  51.       TabIndex        =   14
  52.       Top             =   600
  53.       Visible         =   0   'False
  54.       Width           =   1365
  55.    End
  56.    Begin VB.CommandButton cmdOk 
  57.       Caption         =   "&OK"
  58.       Height          =   375
  59.       Left            =   4950
  60.       TabIndex        =   0
  61.       Top             =   150
  62.       Width           =   1365
  63.    End
  64.    Begin VB.Line Lines 
  65.       BorderWidth     =   2
  66.       Index           =   1
  67.       X1              =   855
  68.       X2              =   6350
  69.       Y1              =   2250
  70.       Y2              =   2250
  71.    End
  72.    Begin VB.Line Lines 
  73.       BorderWidth     =   2
  74.       Index           =   0
  75.       X1              =   885
  76.       X2              =   6350
  77.       Y1              =   2970
  78.       Y2              =   2970
  79.    End
  80.    Begin VB.Label lbl 
  81.       AutoSize        =   -1  'True
  82.       BackStyle       =   0  'Transparent
  83.       Caption         =   "This product is licensed to:"
  84.       Height          =   195
  85.       Index           =   8
  86.       Left            =   855
  87.       TabIndex        =   13
  88.       Top             =   1215
  89.       Width           =   2325
  90.    End
  91.    Begin VB.Label lbl 
  92.       BackStyle       =   0  'Transparent
  93.       Caption         =   "lbl(13) - Free Resources"
  94.       Height          =   255
  95.       Index           =   13
  96.       Left            =   2685
  97.       TabIndex        =   11
  98.       Top             =   3705
  99.       Width           =   2250
  100.    End
  101.    Begin VB.Label lbl 
  102.       BackStyle       =   0  'Transparent
  103.       Caption         =   "System Resources:"
  104.       Height          =   255
  105.       Index           =   12
  106.       Left            =   855
  107.       TabIndex        =   9
  108.       Top             =   3705
  109.       Width           =   1815
  110.    End
  111.    Begin VB.Label lbl 
  112.       BackStyle       =   0  'Transparent
  113.       Caption         =   "lbl(11) - Free RAM"
  114.       Height          =   255
  115.       Index           =   11
  116.       Left            =   2685
  117.       TabIndex        =   10
  118.       Top             =   3435
  119.       Width           =   2295
  120.    End
  121.    Begin VB.Label lbl 
  122.       BackStyle       =   0  'Transparent
  123.       Caption         =   "Memory:"
  124.       Height          =   255
  125.       Index           =   10
  126.       Left            =   855
  127.       TabIndex        =   8
  128.       Top             =   3435
  129.       Width           =   1815
  130.    End
  131.    Begin VB.Label lbl 
  132.       BackStyle       =   0  'Transparent
  133.       Caption         =   "lbl(9) - Windows Mode"
  134.       Height          =   255
  135.       Index           =   9
  136.       Left            =   855
  137.       TabIndex        =   7
  138.       Top             =   3150
  139.       Width           =   3015
  140.    End
  141.    Begin VB.Label lbl 
  142.       BackStyle       =   0  'Transparent
  143.       Caption         =   "lbl(6) - Message"
  144.       Height          =   465
  145.       Index           =   6
  146.       Left            =   855
  147.       TabIndex        =   12
  148.       Top             =   2385
  149.       Width           =   5460
  150.    End
  151.    Begin VB.Label lbl 
  152.       BackStyle       =   0  'Transparent
  153.       Caption         =   "lbl(5) - Registration"
  154.       Height          =   195
  155.       Index           =   5
  156.       Left            =   855
  157.       TabIndex        =   6
  158.       Top             =   1980
  159.       Width           =   4725
  160.    End
  161.    Begin VB.Label lbl 
  162.       BackStyle       =   0  'Transparent
  163.       Caption         =   "lbl(4) - CompanyName"
  164.       Height          =   195
  165.       Index           =   4
  166.       Left            =   855
  167.       TabIndex        =   5
  168.       Top             =   1725
  169.       Width           =   4725
  170.    End
  171.    Begin VB.Label lbl 
  172.       BackStyle       =   0  'Transparent
  173.       Caption         =   "lbl(3) - UserName"
  174.       Height          =   195
  175.       Index           =   3
  176.       Left            =   855
  177.       TabIndex        =   4
  178.       Top             =   1470
  179.       Width           =   4725
  180.    End
  181.    Begin VB.Label lbl 
  182.       BackStyle       =   0  'Transparent
  183.       Caption         =   "lbl(2) - Copyright ⌐ 1995 + AppCompanyName"
  184.       Height          =   255
  185.       Index           =   2
  186.       Left            =   855
  187.       TabIndex        =   3
  188.       Top             =   675
  189.       Width           =   4035
  190.    End
  191.    Begin VB.Label lbl 
  192.       BackStyle       =   0  'Transparent
  193.       Caption         =   "lbl(1) - Version + VersionNumber"
  194.       Height          =   255
  195.       Index           =   1
  196.       Left            =   855
  197.       TabIndex        =   2
  198.       Top             =   405
  199.       Width           =   3555
  200.    End
  201.    Begin VB.Label lbl 
  202.       BackStyle       =   0  'Transparent
  203.       Caption         =   "lbl(0) - AppName"
  204.       Height          =   255
  205.       Index           =   0
  206.       Left            =   855
  207.       TabIndex        =   1
  208.       Top             =   135
  209.       Width           =   3555
  210.    End
  211. End
  212. Attribute VB_Name = "AboutBox"
  213. Attribute VB_Creatable = False
  214. Attribute VB_Exposed = False
  215. '**************************************************************
  216. ' ABOUTBOX.FRM - This form contains a generic about dialog
  217. '                box which is accessed by the About class.
  218. '                You should never use this form directly.
  219. '**************************************************************
  220. Option Explicit
  221. '**************************************************************
  222. ' API calls for use by this form only.
  223. '**************************************************************
  224. #If Win32 Then
  225. Private Type MEMORYSTATUS
  226.         dwLength As Long
  227.         dwMemoryLoad As Long
  228.         dwTotalPhys As Long
  229.         dwAvailPhys As Long
  230.         dwTotalPageFile As Long
  231.         dwAvailPageFile As Long
  232.         dwTotalVirtual As Long
  233.         dwAvailVirtual As Long
  234. End Type
  235. Private Declare Sub GlobalMemoryStatus Lib "kernel32" _
  236.     (lpBuffer As MEMORYSTATUS)
  237. #Else
  238. Private Declare Function GetFreeSpace Lib "Kernel" (ByVal _
  239.     wFlags%) As Long
  240.  
  241. Private Declare Function GetFreeSystemResources Lib "User" _
  242.     (ByVal wSysResource%) As Integer
  243.  
  244. Private Declare Function GetWinFlags Lib "Kernel" () As Long
  245. #End If
  246. '**************************************************************
  247. ' Form level variables for preserving the pointer, and creating
  248. ' and About object.
  249. '**************************************************************
  250. Private OrigPointer As Integer
  251. '**************************************************************
  252. ' Form Intialization
  253. '**************************************************************
  254. Private Sub Form_Load()
  255. #If Win32 Then
  256. Dim MemoryStat As MEMORYSTATUS
  257. #Else
  258. Const WF_ENHANCED = &H20
  259. Const GFSR_SYSTEMRESOURCES = &H0
  260. #End If
  261.     '**********************************************************
  262.     ' Remember the current pointer, and change it to an hrglass
  263.     '**********************************************************
  264.     OrigPointer = Screen.MousePointer
  265.     Screen.MousePointer = vbHourglass
  266.     '**********************************************************
  267.     ' If this form isn't being displayed as a splash screen
  268.     '**********************************************************
  269.     If Not bSplashScreen Then
  270.     '**********************************************************
  271.     ' Set the visible property of the button based on the
  272.     ' existances of msinfo.exe (from Microsoft).
  273.     '**********************************************************
  274.         #If Win32 Then
  275.         cmdSysInfo.Visible = FileExists(GetWinDir(True) _
  276.                          & "msapps\msinfo\msinfo32.exe")
  277.         #Else
  278.         cmdSysInfo.Visible = FileExists(GetWinDir(True) _
  279.                          & "msapps\msinfo\msinfo.exe")
  280.         #End If
  281.     '**********************************************************
  282.     ' NOTE: You CAN NOT distribute MSINFO.EXE, so this is the
  283.     '       next best thing.
  284.     '**********************************************************
  285.     End If
  286.     '**********************************************************
  287.     ' Set the label to reflect the environment mode
  288.     '**********************************************************
  289. #If Win32 Then
  290.     lbl(9) = "Windows (32-bit)"
  291. #Else
  292.     lbl(9) = IIf(GetWinFlags() And WF_ENHANCED, _
  293.                  "386 Enhanced Mode", "Standard Mode")
  294. #End If
  295.     '**********************************************************
  296.     ' Call the API, and format the responses
  297.     '**********************************************************
  298. #If Win32 Then
  299.     GlobalMemoryStatus MemoryStat
  300.     lbl(10) = "Physical Memory"
  301.     lbl(11) = Format(MemoryStat.dwTotalPhys \ 1024, "###,###,##0") & " KB"
  302.     lbl(12) = "Memory Load"
  303.     lbl(13) = Format(MemoryStat.dwMemoryLoad) & "%"
  304. #Else
  305.     lbl(11) = Format$(GetFreeSpace(0) \ 1024, "###,###,##0") & " KB"
  306.     lbl(13) = Format$(GetFreeSystemResources(GFSR_SYSTEMRESOURCES)) & "%"
  307. #End If
  308.     '**********************************************************
  309.     ' Center the form
  310.     '**********************************************************
  311.     Move (Screen.Width - Width) \ 2, (Screen.Height - Height) \ 2
  312.     '**********************************************************
  313.     ' Set the pointer to default, so the user doesn't see
  314.     ' and hourglass on the about box.
  315.     '**********************************************************
  316.     Screen.MousePointer = vbDefault
  317. End Sub
  318. '**************************************************************
  319. ' Restore the pointer to its previous state, and free memory
  320. '**************************************************************
  321. Private Sub Form_Unload(Cancel As Integer)
  322.     Screen.MousePointer = OrigPointer
  323.     Set AboutBox = Nothing
  324. End Sub
  325. '**************************************************************
  326. ' Dismiss the dialog box, and run Form_Unload
  327. '**************************************************************
  328. Private Sub cmdOk_Click()
  329.     Unload Me
  330. End Sub
  331. '**************************************************************
  332. ' If this button is visible, then this will work. Since we
  333. ' ignore the return value, you don't need parenthesis or
  334. ' variable = .
  335. '**************************************************************
  336. Private Sub cmdSysInfo_Click()
  337.     #If Win32 Then
  338.         Shell GetWinDir(True) & "msapps\msinfo\msinfo32.exe", _
  339.                                 vbNormalFocus
  340.     #Else
  341.         Shell GetWinDir(True) & "msapps\msinfo\msinfo.exe"
  342.     #End If
  343. End Sub
  344.