home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 3_2004-2005.ISO / Data / Zips / Property_S1734784182004.psc / PropertySheet / Demo / Form1.frm < prev    next >
Text File  |  2004-04-15  |  33KB  |  861 lines

  1. VERSION 5.00
  2. Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
  3. Object = "*\A..\Source\pPropertySheet.vbp"
  4. Begin VB.Form Form1 
  5.    Caption         =   "PropertySheet Demo"
  6.    ClientHeight    =   7815
  7.    ClientLeft      =   165
  8.    ClientTop       =   450
  9.    ClientWidth     =   8955
  10.    BeginProperty Font 
  11.       Name            =   "Verdana"
  12.       Size            =   7.5
  13.       Charset         =   0
  14.       Weight          =   400
  15.       Underline       =   0   'False
  16.       Italic          =   0   'False
  17.       Strikethrough   =   0   'False
  18.    EndProperty
  19.    Icon            =   "Form1.frx":0000
  20.    LinkTopic       =   "Form1"
  21.    ScaleHeight     =   7815
  22.    ScaleWidth      =   8955
  23.    StartUpPosition =   2  'CenterScreen
  24.    Begin VB.PictureBox picTop 
  25.       Align           =   1  'Align Top
  26.       BackColor       =   &H8000000C&
  27.       BorderStyle     =   0  'None
  28.       Height          =   525
  29.       Left            =   0
  30.       ScaleHeight     =   525
  31.       ScaleWidth      =   8955
  32.       TabIndex        =   3
  33.       Top             =   0
  34.       Width           =   8955
  35.       Begin VB.Image Image1 
  36.          Height          =   480
  37.          Left            =   30
  38.          Picture         =   "Form1.frx":0CCA
  39.          Top             =   30
  40.          Width           =   480
  41.       End
  42.       Begin VB.Label Label2 
  43.          BackStyle       =   0  'Transparent
  44.          Caption         =   "PropertySheet control"
  45.          BeginProperty Font 
  46.             Name            =   "Verdana"
  47.             Size            =   14.25
  48.             Charset         =   0
  49.             Weight          =   400
  50.             Underline       =   0   'False
  51.             Italic          =   0   'False
  52.             Strikethrough   =   0   'False
  53.          EndProperty
  54.          ForeColor       =   &H80000018&
  55.          Height          =   375
  56.          Left            =   510
  57.          TabIndex        =   4
  58.          Top             =   60
  59.          Width           =   6705
  60.       End
  61.    End
  62.    Begin PropertySheet.TPropertySheet ps1 
  63.       Height          =   6735
  64.       Left            =   4080
  65.       TabIndex        =   2
  66.       Top             =   960
  67.       Width           =   4725
  68.       _ExtentX        =   8334
  69.       _ExtentY        =   11880
  70.       BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
  71.          Name            =   "Tahoma"
  72.          Size            =   8.25
  73.          Charset         =   0
  74.          Weight          =   400
  75.          Underline       =   0   'False
  76.          Italic          =   0   'False
  77.          Strikethrough   =   0   'False
  78.       EndProperty
  79.       BeginProperty CatFont {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
  80.          Name            =   "Tahoma"
  81.          Size            =   8.25
  82.          Charset         =   0
  83.          Weight          =   400
  84.          Underline       =   0   'False
  85.          Italic          =   0   'False
  86.          Strikethrough   =   0   'False
  87.       EndProperty
  88.       ShowToolbar     =   0   'False
  89.    End
  90.    Begin PropertySheet.TPropertySheet ps2 
  91.       Height          =   6045
  92.       Left            =   120
  93.       TabIndex        =   1
  94.       Top             =   570
  95.       Width           =   3795
  96.       _ExtentX        =   6694
  97.       _ExtentY        =   10663
  98.       BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
  99.          Name            =   "Tahoma"
  100.          Size            =   8.25
  101.          Charset         =   0
  102.          Weight          =   400
  103.          Underline       =   0   'False
  104.          Italic          =   0   'False
  105.          Strikethrough   =   0   'False
  106.       EndProperty
  107.       AutoSelect      =   0   'False
  108.       CatBackColor    =   14737632
  109.       CatForeColor    =   0
  110.       BeginProperty CatFont {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
  111.          Name            =   "Tahoma"
  112.          Size            =   8.25
  113.          Charset         =   0
  114.          Weight          =   700
  115.          Underline       =   0   'False
  116.          Italic          =   0   'False
  117.          Strikethrough   =   0   'False
  118.       EndProperty
  119.       DescriptionHeight=   700
  120.       ShowDescription =   0   'False
  121.    End
  122.    Begin MSComctlLib.TabStrip TabStrip1 
  123.       Height          =   7185
  124.       Left            =   3990
  125.       TabIndex        =   0
  126.       Top             =   570
  127.       Width           =   4905
  128.       _ExtentX        =   8652
  129.       _ExtentY        =   12674
  130.       _Version        =   393216
  131.       BeginProperty Tabs {1EFB6598-857C-11D1-B16A-00C0F0283628} 
  132.          NumTabs         =   2
  133.          BeginProperty Tab1 {1EFB659A-857C-11D1-B16A-00C0F0283628} 
  134.             Caption         =   "Alphabetic"
  135.             ImageVarType    =   2
  136.          EndProperty
  137.          BeginProperty Tab2 {1EFB659A-857C-11D1-B16A-00C0F0283628} 
  138.             Caption         =   "Categorized"
  139.             ImageVarType    =   2
  140.          EndProperty
  141.       EndProperty
  142.       BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
  143.          Name            =   "Verdana"
  144.          Size            =   7.5
  145.          Charset         =   0
  146.          Weight          =   400
  147.          Underline       =   0   'False
  148.          Italic          =   0   'False
  149.          Strikethrough   =   0   'False
  150.       EndProperty
  151.    End
  152.    Begin MSComctlLib.ImageList ImageList1 
  153.       Left            =   2010
  154.       Top             =   6720
  155.       _ExtentX        =   794
  156.       _ExtentY        =   794
  157.       BackColor       =   16777215
  158.       ImageWidth      =   16
  159.       ImageHeight     =   16
  160.       MaskColor       =   12632256
  161.       _Version        =   393216
  162.       BeginProperty Images {2C247F25-8591-11D1-B16A-00C0F0283628} 
  163.          NumListImages   =   25
  164.          BeginProperty ListImage1 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  165.             Picture         =   "Form1.frx":1994
  166.             Key             =   ""
  167.          EndProperty
  168.          BeginProperty ListImage2 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  169.             Picture         =   "Form1.frx":1AA6
  170.             Key             =   ""
  171.          EndProperty
  172.          BeginProperty ListImage3 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  173.             Picture         =   "Form1.frx":1BB8
  174.             Key             =   ""
  175.          EndProperty
  176.          BeginProperty ListImage4 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  177.             Picture         =   "Form1.frx":1CCA
  178.             Key             =   ""
  179.          EndProperty
  180.          BeginProperty ListImage5 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  181.             Picture         =   "Form1.frx":1DDC
  182.             Key             =   ""
  183.          EndProperty
  184.          BeginProperty ListImage6 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  185.             Picture         =   "Form1.frx":1EEE
  186.             Key             =   ""
  187.          EndProperty
  188.          BeginProperty ListImage7 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  189.             Picture         =   "Form1.frx":2000
  190.             Key             =   ""
  191.          EndProperty
  192.          BeginProperty ListImage8 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  193.             Picture         =   "Form1.frx":2112
  194.             Key             =   ""
  195.          EndProperty
  196.          BeginProperty ListImage9 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  197.             Picture         =   "Form1.frx":2224
  198.             Key             =   ""
  199.          EndProperty
  200.          BeginProperty ListImage10 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  201.             Picture         =   "Form1.frx":2336
  202.             Key             =   ""
  203.          EndProperty
  204.          BeginProperty ListImage11 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  205.             Picture         =   "Form1.frx":2448
  206.             Key             =   ""
  207.          EndProperty
  208.          BeginProperty ListImage12 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  209.             Picture         =   "Form1.frx":255A
  210.             Key             =   ""
  211.          EndProperty
  212.          BeginProperty ListImage13 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  213.             Picture         =   "Form1.frx":266C
  214.             Key             =   ""
  215.          EndProperty
  216.          BeginProperty ListImage14 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  217.             Picture         =   "Form1.frx":277E
  218.             Key             =   ""
  219.          EndProperty
  220.          BeginProperty ListImage15 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  221.             Picture         =   "Form1.frx":2890
  222.             Key             =   ""
  223.          EndProperty
  224.          BeginProperty ListImage16 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  225.             Picture         =   "Form1.frx":29A2
  226.             Key             =   ""
  227.          EndProperty
  228.          BeginProperty ListImage17 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  229.             Picture         =   "Form1.frx":2AB4
  230.             Key             =   ""
  231.          EndProperty
  232.          BeginProperty ListImage18 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  233.             Picture         =   "Form1.frx":2BC6
  234.             Key             =   ""
  235.          EndProperty
  236.          BeginProperty ListImage19 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  237.             Picture         =   "Form1.frx":2CD8
  238.             Key             =   ""
  239.          EndProperty
  240.          BeginProperty ListImage20 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  241.             Picture         =   "Form1.frx":2DEA
  242.             Key             =   ""
  243.          EndProperty
  244.          BeginProperty ListImage21 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  245.             Picture         =   "Form1.frx":2EFC
  246.             Key             =   ""
  247.          EndProperty
  248.          BeginProperty ListImage22 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  249.             Picture         =   "Form1.frx":300E
  250.             Key             =   ""
  251.          EndProperty
  252.          BeginProperty ListImage23 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  253.             Picture         =   "Form1.frx":3120
  254.             Key             =   ""
  255.          EndProperty
  256.          BeginProperty ListImage24 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  257.             Picture         =   "Form1.frx":3232
  258.             Key             =   ""
  259.          EndProperty
  260.          BeginProperty ListImage25 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  261.             Picture         =   "Form1.frx":3344
  262.             Key             =   ""
  263.          EndProperty
  264.       EndProperty
  265.    End
  266.    Begin VB.Menu mnuFile 
  267.       Caption         =   "&File"
  268.       Begin VB.Menu mnuFileLoad 
  269.          Caption         =   "&Load"
  270.       End
  271.       Begin VB.Menu mnuFileSave 
  272.          Caption         =   "&Save"
  273.       End
  274.       Begin VB.Menu mnuFileClear 
  275.          Caption         =   "&Clear"
  276.       End
  277.       Begin VB.Menu mnuFileRestore 
  278.          Caption         =   "&Restore"
  279.       End
  280.       Begin VB.Menu mnuBar3 
  281.          Caption         =   "-"
  282.       End
  283.       Begin VB.Menu mnuAddProperty 
  284.          Caption         =   "&New Property"
  285.          Shortcut        =   ^N
  286.       End
  287.       Begin VB.Menu mnuBar0 
  288.          Caption         =   "-"
  289.       End
  290.       Begin VB.Menu mnuFileExit 
  291.          Caption         =   "&Exit"
  292.       End
  293.    End
  294. End
  295. Attribute VB_Name = "Form1"
  296. Attribute VB_GlobalNameSpace = False
  297. Attribute VB_Creatable = False
  298. Attribute VB_PredeclaredId = True
  299. Attribute VB_Exposed = False
  300. ' *******************************************************
  301. ' Project      : DemoPropertySheet
  302. ' Written By   : Marclei V Silva (MVS)
  303. ' Programmer   : Marclei V Silva (MVS) [Spnorte Consultoria de Informßtica]
  304. ' Date Writen  : 06/16/2000 -- 08:52:54
  305. ' Description  : This project will demonstrate the use
  306. '              : of PropertySheet control
  307. '              :
  308. '              :
  309. ' *******************************************************
  310. Option Explicit
  311.  
  312. ' Enumerate Property Sheet images
  313. Enum psStandardImages
  314.     psImgClosedFolder = 1
  315.     psImgOpenFolder = 2
  316.     psImgUser = 3
  317.     psImgHome = 4
  318.     psImgPhone = 5
  319.     psImgFax = 6
  320.     psImgWebPage = 7
  321.     psImgHyperlink = 8
  322.     psImgMail = 9
  323.     psImgLock = 10
  324.     psImgPaperClip = 11
  325.     psImgNotes = 12
  326.     psImgPicture1 = 13
  327.     psImgCalendar1 = 14
  328.     psImgCalendar2 = 15
  329.     psImgClock = 16
  330.     psImgFont = 17
  331.     psImgPicture2 = 18
  332.     psImgFile = 19
  333.     psImgFontColor = 20
  334.     psImgBackColor = 21
  335.     psImgLineColor = 22
  336.     psImgZoom = 23
  337.     psImgWidth = 24
  338.     psImgHeight = 25
  339. End Enum
  340.  
  341. Private Sub Form_Load()
  342.     ' select propertysheet style
  343.     TabStrip1_Click
  344.     ' fill propertysheet1 properties
  345.     AddPropertiesPS1
  346.     ' fill propertysheet1 properties
  347.     AddPropertiesPS2
  348.     ' init description pane
  349. End Sub
  350.  
  351. Private Sub Form_Resize()
  352.     Static Resizing As Boolean
  353.     If Not Resizing Then
  354.       
  355.         Resizing = True
  356.       
  357.        On Error GoTo err_resize
  358.         If Height < 2325 Then Height = 2325
  359.         If Width < 4560 Then Width = 4560
  360.    
  361.         ps2.Move 30, ps2.Top, ScaleWidth / 2 - 45, ScaleHeight - Me.picTop.Height - 45
  362.         TabStrip1.Move ScaleWidth / 2 + 30, TabStrip1.Top, ScaleWidth / 2 - 45, ScaleHeight - (735)
  363.         ps1.Move ScaleWidth / 2 + 90, TabStrip1.ClientTop, TabStrip1.ClientWidth, TabStrip1.ClientHeight
  364. err_resize:
  365.         Resizing = False
  366.       
  367.     End If
  368.  
  369. End Sub
  370.  
  371. Sub AddPropertiesPS1()
  372.     With ps1
  373. '<Added by: Project Administrator at: 1/4/2004-19:59:14 on machine: ZEUS>
  374.         .Redraw = False
  375. '</Added by: Project Administrator at: 1/4/2004-19:59:14 on machine: ZEUS>
  376.         .ImageList = ImageList1
  377.         .ShowToolTips = True
  378.         With .Categories
  379.             With .Add("Appearance", , "@Use these properties to change the" & vbCrLf & "PropertyList2 appearance").Properties
  380.                 .Add "BackColor", ps2.BackColor, psColor, , psImgBackColor, , "Returns/sets the background color of the object"
  381.                 .Add "CatBackColor", ps2.CatBackColor, psColor, , psImgBackColor, , "Returns/sets catagory cell background color"
  382.                 .Add "SelBackColor", ps2.SelBackColor, psColor, , psImgBackColor, , "Returns/sets selection background color"
  383.                 .Add "CatForeColor", ps2.CatForeColor, psColor, , psImgFontColor, , "Returns/sets category foreground color used to display text and graphics of an object"
  384.                 .Add "ForeColor", ps2.ForeColor, psColor, , psImgFontColor, , "Returns/sets foreground color used to display text and graphics of an object"
  385.                 .Add "SelForeColor", ps2.SelForeColor, psColor, , psImgFontColor, , "Returns/sets selection foreground color used to display text and graphics of an object"
  386.                 .Add "GridColor", ps2.GridColor, psColor, , psImgLineColor, , "Returns/sets object grid color"
  387.                 With .Add("BorderStyle", 0, psDropDownList)
  388.                     .ListValues.Add 0, "0 - psBorderNone"
  389.                     .ListValues.Add 1, "1 - psBorderSingle"
  390.                     .Value = ps2.BorderStyle
  391.                     .Description = "Returns/sets the border style for the object"
  392.                 End With
  393.                 With .Add("Appearance", 0, psDropDownList)
  394.                     .ListValues.Add 0, "0 - psFlat"
  395.                     .ListValues.Add 1, "1 - ps3D"
  396.                     .Value = ps2.Appearance
  397.                 End With
  398.                 .Add("CatFont", ps2.CatFont, psFont).Format = "n (c)"
  399.                 .Add "Font", ps2.Font, psFont
  400.                 .Add "NameWidth", ps2.NameWidth
  401.                 With .Add("ShowCategories", ps2.ShowCategories)
  402.                     With .ListValues
  403.                         .Item(1).Caption = "No"
  404.                         .Item(2).Caption = "Yes"
  405.                     End With
  406.                 End With
  407.                 With .Add("Tooltips", ps2.ShowToolTips, , , psImgPicture2)
  408.                     With .ListValues
  409.                         .Item(1).Caption = "Hide"
  410.                         .Item(2).Caption = "Show"
  411.                     End With
  412.                 End With
  413.                 .Add "ShowToolbar", True
  414.                 .Add "ShowDescription", False
  415. '<Added by: Project Administrator at: 31/3/2004-21:16:10 on machine: ZEUS>
  416.                 With .Add("EffectStyle", psNormal, psDropDownList)
  417.                     With .ListValues
  418.                         .Add psNormal, "psNormal"
  419.                         .Add psSmooth, "psSmooth"
  420.                     End With
  421.                 End With
  422. '</Added by: Project Administrator at: 31/3/2004-21:16:10 on machine: ZEUS>
  423.                 With .Add("DescriptionHeight", ps2.DescriptionHeight, psInteger)
  424.                     .UpDownIncrement = 50
  425.                 End With
  426.             End With
  427.             With .Add("Behavior", , "@Set the control behavior").Properties
  428.                 .Add "AllowEmptyValues", ps2.AllowEmptyValues
  429.                 .Add "AutoSelect", ps2.AutoSelect
  430.                 .Add "Expandable Categories", ps2.ExpandableCategories
  431.                 .Add "RequiresEnter", ps2.RequiresEnter
  432.                 .Add "Visible", True
  433.             End With
  434.             With .Add("Misc", , "@Other properties")
  435.                 With .Properties
  436.                     .Add("(About)", "", psCustom, , psImgNotes, "Click the button for information about this control", "Show propertysheet about box").ForeColor = vbBlue
  437.                     .Add("(Revisions)", "", psCustom, , psImgWebPage, "Click the button for revision file", "Open the revision file for PropertySheet control").ForeColor = vbBlue
  438.                     .Add("(Readme)", "", psCustom, , psImgFile, "Click the button for read-me file", "Open the readme file for PropertySheet control").ForeColor = vbBlue
  439.                 End With
  440.             End With
  441.             With .Add("Position", , "@Fields in red are read-only")
  442.                 With .Properties
  443.                     With .Add("Left", ps2.Left, , True)
  444.                         .ForeColor = vbRed
  445.                     End With
  446.                     .Add("Width", ps2.Width, , , psImgWidth).SetRange 2100, 2790
  447.                     .Add("Height", ps2.Height, , , psImgHeight).SetRange 100, 3300
  448.                     .Add("Top", ps2.Top, , True).ForeColor = vbRed
  449.                 End With
  450.             End With
  451.             With .Add("Formats").Properties
  452.                 With .Add("ColorFormat", "RRGGBB", psCombo).ListValues
  453.                     .Add "&HeH&", "VB"
  454.                     .Add "$e", "Delphi"
  455.                     .Add "#m", "HTML"
  456.                     .Add "r g b", "Red Green Blue"
  457.                 End With
  458.                 With .Add("Date Format", "dd-MMM-yyyy", psCombo).ListValues
  459.                     .Add "Long Date"
  460.                     .Add "Medium Date"
  461.                     .Add "Short Date"
  462.                     .Add """Today is"" dddd dd "", a really nice day.""", "Really Long Date"
  463.                 End With
  464.                 With .Add("Boolean Format", 0, psBoolean).ListValues
  465.                     .Item(1).Caption = "Like combobox"
  466.                     .Item(2).Caption = "Like checkbox"
  467.                 End With
  468.             End With
  469.         End With
  470. '<Added by: Project Administrator at: 1/4/2004-19:59:24 on machine: ZEUS>
  471.         .Redraw = True
  472. '</Added by: Project Administrator at: 1/4/2004-19:59:24 on machine: ZEUS>
  473.     End With
  474. End Sub
  475.  
  476. Private Sub ps1_Browse(ByVal Left As Variant, ByVal Top As Variant, ByVal Width As Variant, ByVal Prop As PropertySheet.TProperty)
  477.     Select Case Prop.Caption
  478.         Case "(About)"
  479.             Dim fAbout As New Form4
  480.             
  481.             fAbout.Show vbModal
  482.             Unload fAbout
  483.             Set fAbout = Nothing
  484.             
  485.         Case "(Revisions)"
  486.             OpenFile App.Path & "\revisions.rtf", "Revisions"
  487.         
  488.         Case "(Readme)"
  489.             OpenFile App.Path & "\readme.rtf", "Readme"
  490.     End Select
  491. End Sub
  492.  
  493. Private Sub ps1_EditError(ErrMessage As String)
  494.     MsgBox ErrMessage
  495. End Sub
  496.  
  497. Private Sub ps1_GetDisplayString(ByVal Prop As PropertySheet.TProperty, DisplayString As String, UseDefault As Boolean)
  498.     Select Case Prop.Caption
  499.         ' nothing
  500.     End Select
  501. End Sub
  502.  
  503. Private Sub ps1_PropertyChanged(ByVal Prop As TProperty, NewValue As Variant, Cancel As Boolean)
  504.     '<EhHeader>
  505.     On Error GoTo ps1_PropertyChanged_Err
  506.     '</EhHeader>
  507.     Dim Txt As String
  508.     
  509.     With ps2
  510.         Select Case Prop.Caption
  511.             Case "Boolean Format"
  512.                 .Categories("Other Types").Properties("Boolean").Format = IIf(NewValue, "checkbox", "")
  513.                 
  514.             Case "Expandable Categories"
  515.                 .ExpandableCategories = NewValue
  516.             
  517.             Case "AllowEmptyValues"
  518.                 .AllowEmptyValues = NewValue
  519.             
  520.             Case "AutoSelect"
  521.                 .AutoSelect = NewValue
  522.                 
  523.             Case "BackColor"
  524.                 .BackColor = NewValue
  525.             
  526.             Case "BorderStyle"
  527.                 .BorderStyle = NewValue
  528.             
  529.             Case "Appearance"
  530.                 .Appearance = NewValue
  531.                 
  532.             Case "CatBackColor"
  533.                 .CatBackColor = NewValue
  534.                 
  535.             Case "CatFont"
  536.                 Set .CatFont = NewValue
  537.                 
  538.             Case "CatForeColor"
  539.                 .CatForeColor = NewValue
  540.                 
  541.             Case "ColorFormat"
  542.                 .Categories("Other types").Properties("color").Format = NewValue
  543.                 
  544.             Case "Font"
  545.                 Set .Font = NewValue
  546.                 
  547.             Case "ForeColor"
  548.                 .ForeColor = NewValue
  549.                 '.ResetForeColor
  550.                 
  551.             Case "GridColor"
  552.                 .GridColor = NewValue
  553.                 
  554.             Case "NameWidth"
  555.                 .NameWidth = NewValue
  556.                 NewValue = .NameWidth
  557.                 
  558.             Case "SelBackColor"
  559.                 .SelBackColor = NewValue
  560.                 
  561.             Case "SelForeColor"
  562.                 .SelForeColor = NewValue
  563.                 
  564.             Case "ShowCategories"
  565.                 .ShowCategories = NewValue
  566.                 
  567.             Case "RequiresEnter"
  568.                 .RequiresEnter = NewValue
  569.                 
  570.             Case "Visible"
  571.                 .Visible = NewValue
  572.                 
  573.             Case "ShowToolbar"
  574.                 .ShowToolbar = NewValue
  575.                 
  576.             Case "ShowDescription"
  577.                 .ShowDescription = NewValue
  578.                                 
  579.             Case "Tooltips"
  580.                 .ShowToolTips = NewValue
  581.                 
  582.             Case "Height"
  583.                 .Height = NewValue
  584.             
  585.             Case "Width"
  586.                 .Width = NewValue
  587.             
  588.             Case "Date Format"
  589.                 .Categories("Date/time types").Properties("date").Format = NewValue
  590.             
  591.             Case "Time Format"
  592.                 .Categories("Date/time types").Properties("time").Format = NewValue
  593.         
  594.             Case "DescriptionHeight"
  595.                 ps2.DescriptionHeight = NewValue
  596.             
  597. '<Added by: Project Administrator at: 31/3/2004-21:16:35 on machine: ZEUS>
  598.             Case "EffectStyle"
  599.                 ps2.EffectStyle = NewValue
  600. '</Added by: Project Administrator at: 31/3/2004-21:16:35 on machine: ZEUS>
  601.         End Select
  602.     End With
  603.     '<EhFooter>
  604.     Exit Sub
  605.  
  606. ps1_PropertyChanged_Err:
  607.     MsgBox Err.Description & vbCrLf & _
  608.            "in DemoPropertySheet.Form1.ps1_PropertyChanged " & _
  609.            "at line " & Erl
  610.     Resume Next
  611.     '</EhFooter>
  612. End Sub
  613.  
  614. Private Sub AddPropertiesPS2()
  615.  
  616.     With ps2
  617.         .Redraw = False
  618.         .ImageList = ImageList1
  619.         .Categories.Clear
  620.         '
  621.         ' numeric types
  622.         '
  623.         With .Categories.Add("Numeric Types", psImgOpenFolder)
  624.             With .Properties
  625.                 .Add "Byte", 128, psByte, , , , "A byte property where values range from 0 to 255"
  626.                 With .Add("Currency", 12300, psCurrency, , , "psCurrency properties have a default format of ""$ #,##0.00""")
  627.                     .Description = "Currency value"
  628.                     .UpDownIncrement = 0.05
  629.                 End With
  630.                 .Add "Integer", 1, psInteger, , , , "Integer values range from 0 to 32768"
  631.                 With .Add("Long", 200, psLong, , , "This property has maximum and minimum values and an UpDown control.")
  632.                     .Description = "Long value range from 0 to ??????"
  633.                     .SetRange 100, 1000
  634.                     .UpDownIncrement = 10
  635.                 End With
  636.                 .Add "Decimal", 32312223.21, psDecimal
  637.                 .Add "Double", 1639043.324, psDouble
  638.                 .Add "Single", 123 / 3, psSingle
  639.             End With
  640.         End With
  641.         '
  642.         ' date/time types
  643.         '
  644.         With .Categories.Add("Date/Time Types", psImgOpenFolder)
  645.             With .Properties
  646.                 .Add "Time", Now(), psTime, , psImgClock, "PropertySheet supports Time and Date properties."
  647.                 .Add "Date", #10/22/1932#, psDate, , psImgCalendar2, "Date properties shows a calendar control to select a valid date."
  648.             End With
  649.         End With
  650.         '
  651.         ' string types
  652.         '
  653.         With .Categories.Add("String Types", psImgOpenFolder).Properties
  654.             .Add "String", "Hello World!", psString                         ' a simple string property
  655.             With .Add("String * 8", "12345678", psString)                   ' a string property with MaxLength=8
  656.                 .SetRange , 8
  657.             End With
  658.             .Add("Password", "pwd", psString).Format = "Password"           ' a password string
  659.             .Add "Memo", "Text", psLongText                                 ' a memo property
  660.             .Add "Combo", "Text", psCombo                                   ' a combo property
  661.             ' you can get a category property using the "Item" property
  662.             With .Item("Combo").ListValues
  663.                 .Add "Sample Item"
  664.                 .Add "Combo item", "New Combo Type"
  665.             End With
  666.         End With
  667.         '
  668.         ' File & Folders
  669.         With .Categories.Add("File & Folder", psImgOpenFolder)
  670.             With .Properties
  671.                 .Add "Folder", "C:\WINDOWS", psFolder, , psImgClosedFolder      ' browse for folder property
  672.                 With .Add("File", "C:\AUTOEXEC.BAT", psFile, , psImgPaperClip)  ' open file property
  673.                     .Format = "Batch Files *.BAT|*.BAT"
  674.                 End With
  675.             End With
  676.         End With
  677.         '
  678.         ' object types
  679.         '
  680.         With .Categories.Add("Object Types", psImgOpenFolder)
  681.             With .Properties
  682.                 .Add("Font", Me.Font, psFont, , psImgFont).Format = "(c npts)"
  683.                 .Add "Object", Nothing
  684.                 .Add("Picture", Nothing, psPicture, , psImgPicture1).Format = "CustomDisplay"
  685.             End With
  686.         End With
  687.         '
  688.         ' other types
  689.         '
  690.         With .Categories.Add("Other Types", psImgOpenFolder)
  691.             With .Properties
  692.                 .Add "Array", Array(1, 2, 3)
  693.                 With .Add("CheckedList", "", psDropDownCheckList)
  694.                     .Format = "CustomDisplay"
  695.                     With .ListValues
  696.                         .Add "Check1"
  697.                         .Add "Check2"
  698.                         .Add "Check3"
  699.                         .Add "Check4"
  700.                         .Add "Check5"
  701.                     End With
  702.                 End With
  703.                 .Add "Boolean", False, psBoolean
  704.                 .Add("Color", vbBlue, psColor, , , "This property uses the CustomDisplay format.").Format = "CustomDisplay"
  705.                 With .Add("DropDown List", 0, psDropDownList, , , _
  706.                    "@This kind of property" & vbCrLf & _
  707.                    "is not limited only to" & vbCrLf & _
  708.                    "Long values. You can use" & vbCrLf & _
  709.                    "anything that can be" & vbCrLf & _
  710.                    "stored in a Variant.").ListValues
  711.                     .Add 0, "Item A"
  712.                     .Add 1, "Item B"
  713.                     .Add 2, "Item C"
  714.                     .Add 3, "Item D"
  715.                     .Add 4, "Item E"
  716.                     .Add 5, "Item F"
  717.                 End With
  718.                 .Add("Popup window", -1, psCustom, , , "Show a poup window", "Custom poup window").Format = "CustomDisplay"
  719.             End With
  720.         End With
  721.         '
  722.         ' empty
  723.         '
  724.         With .Categories.Add("Empty Category")
  725.             With .Properties
  726.                 ' nothing
  727.             End With
  728.         End With
  729.         .Redraw = True
  730.     End With
  731. End Sub
  732.  
  733. Private Sub ps2_Browse(ByVal Left As Variant, ByVal Top As Variant, ByVal Width As Variant, ByVal Prop As PropertySheet.TProperty)
  734.     If Prop.Caption = "Popup window" Then
  735.     Dim f As Form5
  736.     
  737.     Set f = New Form5
  738.     Load f
  739.     f.Move Left, Top
  740.     f.Show vbModal
  741.     Prop.Value = f.PictureIndex
  742.     Unload f
  743.     Set f = Nothing
  744.     End If
  745. End Sub
  746.  
  747. Private Sub ps2_BrowseForFile(ByVal Prop As PropertySheet.TProperty, Title As String, InitDir As String, Filter As String, FilterIndex As Integer, flags As Long)
  748.     ' BrowseForFile allows to configure file dialog before opening
  749.     If Prop.Caption = "File" Then
  750.         Title = "Open"
  751.         Filter = "Batch files (*.BAT)|*.BAT"
  752.         FilterIndex = 1
  753.     End If
  754. End Sub
  755.  
  756. Private Sub ps2_EditError(ErrMessage As String)
  757.     ' show error message
  758.     MsgBox ErrMessage
  759. End Sub
  760.  
  761. Private Sub ps2_GetDisplayString(ByVal Prop As TProperty, DisplayString As String, UseDefault As Boolean)
  762.     ' you may customize the display string of the property
  763.     ' just modify thr DisplayString variable accordingly your needs
  764.     Select Case Prop.Caption
  765.         Case "CheckedList"
  766.             DisplayString = "(Flags)"
  767.             
  768.         Case "Color"
  769.             Select Case Prop.Value
  770.                 ' Show the color name instead of RGB components
  771.                 Case vbRed
  772.                     DisplayString = "Red"
  773.             
  774.                 Case vbGreen
  775.                     DisplayString = "Green"
  776.                
  777.                 Case vbBlue
  778.                     DisplayString = "Blue"
  779.                
  780.                 Case vbYellow
  781.                     DisplayString = "Yellow"
  782.             
  783.                 Case Else
  784.                     ' Use the default string
  785.                     ' for any other color
  786.                     UseDefault = True
  787.             End Select
  788.          
  789.         Case "Picture"
  790.             If TypeName(Prop.Value) = "Picture" Then
  791.                 If Prop.Value.Type = 1 Then
  792.                     DisplayString = "BMP"
  793.                 ElseIf Prop.Value.Type = 2 Then
  794.                     DisplayString = "WMF"
  795.                 ElseIf Prop.Value.Type = 3 Then
  796.                     DisplayString = "ICO"
  797.                 End If
  798.             Else
  799.                 DisplayString = "None"
  800.             End If
  801.             DisplayString = "(" & DisplayString & ")"
  802.             
  803.         Case "Object"
  804.             DisplayString = "(Object)"
  805.          
  806.         Case "Array"
  807.             DisplayString = "Array of " & (UBound(Prop.Value) - LBound(Prop.Value) + 1) & " elements"
  808.         
  809.         Case "Popup window"
  810.             If Prop.Value = -1 Then
  811.                 DisplayString = "(None)"
  812.             Else
  813.                 DisplayString = "(Image " & Prop.Value & ")"
  814.             End If
  815.         
  816.     End Select
  817. End Sub
  818.  
  819. Private Sub mnuAddProperty_Click()
  820.     ' adds a new property to the propertysheet control
  821.     Form2.Show vbModal
  822. End Sub
  823.  
  824. Private Sub mnuFileClear_Click()
  825.     ps2.Clear
  826. End Sub
  827.  
  828. Private Sub mnuFileExit_Click()
  829.     ' bye bye
  830.     Unload Me
  831. End Sub
  832.  
  833. Private Sub mnuFileLoad_Click()
  834.     ps2.LoadFromFile App.Path & "\PropertySheet.ini", "Grid"
  835. End Sub
  836.  
  837. Private Sub mnuFileRestore_Click()
  838.     AddPropertiesPS2
  839. End Sub
  840.  
  841. Private Sub mnuFileSave_Click()
  842.     ps2.SaveToFile App.Path & "\PropertySheet.ini", "Grid"
  843. End Sub
  844.  
  845. Private Sub TabStrip1_Click()
  846.     On Error Resume Next
  847.     If TabStrip1.SelectedItem.Index = 1 Then
  848.         ps1.ShowCategories = False
  849.     Else
  850.         ps1.ShowCategories = True
  851.     End If
  852.     ps1.SetFocus
  853. End Sub
  854.  
  855. Private Sub OpenFile(FileName As String, Title As String)
  856.     Dim f As New Form3
  857.     
  858.     f.Execute FileName, Title
  859. End Sub
  860. '-- end code
  861.