frmTestControlProperties.frm
上传用户:eleven0727
上传日期:2009-12-26
资源大小:124k
文件大小:26k
源码类别:

Tab控件

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Object = "*A....prjXTab.vbp"
  3. Begin VB.Form frmTestControlProperties 
  4.    BorderStyle     =   1  'Fixed Single
  5.    Caption         =   "                     :: XTabs :: by Neeraj Agrawal @ PSC ::"
  6.    ClientHeight    =   8010
  7.    ClientLeft      =   45
  8.    ClientTop       =   330
  9.    ClientWidth     =   6930
  10.    Icon            =   "frmTestControlProperties.frx":0000
  11.    LinkTopic       =   "Form1"
  12.    LockControls    =   -1  'True
  13.    MaxButton       =   0   'False
  14.    MinButton       =   0   'False
  15.    ScaleHeight     =   8010
  16.    ScaleWidth      =   6930
  17.    StartUpPosition =   1  'CenterOwner
  18.    Begin VB.Frame fraPreview 
  19.       BackColor       =   &H00D8E9EC&
  20.       Height          =   1965
  21.       Left            =   30
  22.       TabIndex        =   38
  23.       Top             =   -120
  24.       Width           =   6765
  25.       Begin prjXTab.XTab XTab1 
  26.          Height          =   1545
  27.          Left            =   90
  28.          TabIndex        =   0
  29.          Top             =   270
  30.          Width           =   6585
  31.          _ExtentX        =   11615
  32.          _ExtentY        =   2725
  33.          TabCaption(0)   =   "Tab 0"
  34.          TabContCtrlCnt(0)=   4
  35.          Tab(0)ContCtrlCap(1)=   "Label4"
  36.          Tab(0)ContCtrlCap(2)=   "Label3"
  37.          Tab(0)ContCtrlCap(3)=   "Label2"
  38.          Tab(0)ContCtrlCap(4)=   "Label1"
  39.          TabCaption(1)   =   "Tab 1"
  40.          TabCaption(2)   =   "Tab 2"
  41.          BeginProperty ActiveTabFont {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
  42.             Name            =   "MS Sans Serif"
  43.             Size            =   8.25
  44.             Charset         =   0
  45.             Weight          =   700
  46.             Underline       =   0   'False
  47.             Italic          =   0   'False
  48.             Strikethrough   =   0   'False
  49.          EndProperty
  50.          BeginProperty InActiveTabFont {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
  51.             Name            =   "MS Sans Serif"
  52.             Size            =   8.25
  53.             Charset         =   0
  54.             Weight          =   400
  55.             Underline       =   0   'False
  56.             Italic          =   0   'False
  57.             Strikethrough   =   0   'False
  58.          EndProperty
  59.          DisabledTabBackColor=   -2147483633
  60.          DisabledTabForeColor=   -2147483627
  61.          Begin VB.Label Label4 
  62.             AutoSize        =   -1  'True
  63.             BackStyle       =   0  'Transparent
  64.             Caption         =   "-Try making the active tab smaller and inactive tab larger in height."
  65.             Height          =   195
  66.             Left            =   810
  67.             TabIndex        =   42
  68.             Top             =   1110
  69.             Width           =   5820
  70.          End
  71.          Begin VB.Label Label3 
  72.             AutoSize        =   -1  'True
  73.             BackStyle       =   0  'Transparent
  74.             Caption         =   "-Make sure the Xtab control has the focus and then use arrow keys."
  75.             Height          =   195
  76.             Left            =   810
  77.             TabIndex        =   41
  78.             Top             =   870
  79.             Width           =   5835
  80.          End
  81.          Begin VB.Label Label2 
  82.             AutoSize        =   -1  'True
  83.             BackStyle       =   0  'Transparent
  84.             Caption         =   "-Assign Acces keys using the && character in the tab caption."
  85.             Height          =   195
  86.             Left            =   810
  87.             TabIndex        =   40
  88.             Top             =   630
  89.             Width           =   5145
  90.          End
  91.          Begin VB.Label Label1 
  92.             AutoSize        =   -1  'True
  93.             BackStyle       =   0  'Transparent
  94.             Caption         =   "Try These:"
  95.             Height          =   195
  96.             Left            =   390
  97.             TabIndex        =   39
  98.             Top             =   360
  99.             Width           =   930
  100.          End
  101.       End
  102.    End
  103.    Begin VB.CommandButton cmdBack 
  104.       Caption         =   "::Close::"
  105.       Height          =   285
  106.       Left            =   2453
  107.       TabIndex        =   21
  108.       Top             =   7650
  109.       Width           =   2025
  110.    End
  111.    Begin VB.Frame fraGeneralProperties 
  112.       Caption         =   " General Properties "
  113.       BeginProperty Font 
  114.          Name            =   "Tahoma"
  115.          Size            =   8.25
  116.          Charset         =   0
  117.          Weight          =   700
  118.          Underline       =   0   'False
  119.          Italic          =   0   'False
  120.          Strikethrough   =   0   'False
  121.       EndProperty
  122.       Height          =   3855
  123.       Left            =   30
  124.       TabIndex        =   27
  125.       Top             =   1890
  126.       Width           =   6765
  127.       Begin VB.TextBox txtTabCount 
  128.          Height          =   285
  129.          Left            =   1710
  130.          MaxLength       =   5
  131.          TabIndex        =   1
  132.          Top             =   270
  133.          Width           =   600
  134.       End
  135.       Begin VB.ComboBox cboTabStyle 
  136.          Height          =   315
  137.          ItemData        =   "frmTestControlProperties.frx":000C
  138.          Left            =   1710
  139.          List            =   "frmTestControlProperties.frx":0016
  140.          Style           =   2  'Dropdown List
  141.          TabIndex        =   2
  142.          Top             =   690
  143.          Width           =   1485
  144.       End
  145.       Begin VB.ComboBox cboTabTheme 
  146.          Height          =   315
  147.          ItemData        =   "frmTestControlProperties.frx":0037
  148.          Left            =   5010
  149.          List            =   "frmTestControlProperties.frx":004A
  150.          Style           =   2  'Dropdown List
  151.          TabIndex        =   3
  152.          Top             =   690
  153.          Width           =   1365
  154.       End
  155.       Begin VB.TextBox txtYRadius 
  156.          Height          =   285
  157.          Left            =   5025
  158.          MaxLength       =   5
  159.          TabIndex        =   7
  160.          Top             =   1560
  161.          Width           =   630
  162.       End
  163.       Begin VB.TextBox txtXRadius 
  164.          Height          =   285
  165.          Left            =   1710
  166.          MaxLength       =   5
  167.          TabIndex        =   6
  168.          Top             =   1560
  169.          Width           =   600
  170.       End
  171.       Begin VB.TextBox txtInActiveTabHeight 
  172.          Height          =   285
  173.          Left            =   5025
  174.          MaxLength       =   5
  175.          TabIndex        =   5
  176.          Top             =   1140
  177.          Width           =   630
  178.       End
  179.       Begin VB.TextBox txtActiveTabHeight 
  180.          Height          =   285
  181.          Left            =   1710
  182.          MaxLength       =   5
  183.          TabIndex        =   4
  184.          Top             =   1140
  185.          Width           =   600
  186.       End
  187.       Begin VB.CheckBox chkShowFocusRect 
  188.          Caption         =   "Show Focus Rect"
  189.          Height          =   225
  190.          Left            =   1710
  191.          TabIndex        =   8
  192.          Top             =   2220
  193.          Width           =   1605
  194.       End
  195.       Begin VB.CommandButton cmdSelectMaskColor 
  196.          Caption         =   "Select"
  197.          Height          =   225
  198.          Left            =   5700
  199.          TabIndex        =   12
  200.          Top             =   3390
  201.          Width           =   645
  202.       End
  203.       Begin VB.CheckBox chkUseMaskColor 
  204.          Caption         =   "Use Mask Color for Picture"
  205.          Height          =   195
  206.          Left            =   3450
  207.          TabIndex        =   11
  208.          Top             =   3420
  209.          Width           =   2235
  210.       End
  211.       Begin VB.ComboBox cboPictureSize 
  212.          Height          =   315
  213.          ItemData        =   "frmTestControlProperties.frx":0097
  214.          Left            =   1710
  215.          List            =   "frmTestControlProperties.frx":00A1
  216.          Style           =   2  'Dropdown List
  217.          TabIndex        =   9
  218.          Top             =   2880
  219.          Width           =   1485
  220.       End
  221.       Begin VB.ComboBox cboPictureAlignment 
  222.          Height          =   315
  223.          ItemData        =   "frmTestControlProperties.frx":00B3
  224.          Left            =   1710
  225.          List            =   "frmTestControlProperties.frx":00C3
  226.          Style           =   2  'Dropdown List
  227.          TabIndex        =   10
  228.          Top             =   3330
  229.          Width           =   1485
  230.       End
  231.       Begin VB.Label lblTabCount 
  232.          AutoSize        =   -1  'True
  233.          Caption         =   "Tab Count:"
  234.          Height          =   195
  235.          Left            =   180
  236.          TabIndex        =   37
  237.          Top             =   315
  238.          Width           =   810
  239.       End
  240.       Begin VB.Label lblTabStyle 
  241.          AutoSize        =   -1  'True
  242.          BackStyle       =   0  'Transparent
  243.          Caption         =   "Tab Style:"
  244.          ForeColor       =   &H8000000D&
  245.          Height          =   195
  246.          Left            =   180
  247.          TabIndex        =   36
  248.          Top             =   750
  249.          Width           =   735
  250.       End
  251.       Begin VB.Label lblTabTheme 
  252.          AutoSize        =   -1  'True
  253.          BackStyle       =   0  'Transparent
  254.          Caption         =   "Tab Theme:"
  255.          ForeColor       =   &H8000000D&
  256.          Height          =   195
  257.          Left            =   3450
  258.          TabIndex        =   35
  259.          Top             =   750
  260.          Width           =   855
  261.       End
  262.       Begin VB.Label lblInfo 
  263.          Caption         =   "* X Radius and Y Radius apply only to  the Round Tabs Theme"
  264.          ForeColor       =   &H80000010&
  265.          Height          =   405
  266.          Left            =   1710
  267.          TabIndex        =   34
  268.          Top             =   1890
  269.          Width           =   4665
  270.       End
  271.       Begin VB.Label lblYRadius 
  272.          AutoSize        =   -1  'True
  273.          Caption         =   "Y Radius:"
  274.          Height          =   195
  275.          Left            =   3450
  276.          TabIndex        =   33
  277.          Top             =   1605
  278.          Width           =   675
  279.       End
  280.       Begin VB.Label lblXRadius 
  281.          AutoSize        =   -1  'True
  282.          Caption         =   "X Radius:"
  283.          Height          =   195
  284.          Left            =   180
  285.          TabIndex        =   32
  286.          Top             =   1605
  287.          Width           =   675
  288.       End
  289.       Begin VB.Label lblInactiveTabHeight 
  290.          AutoSize        =   -1  'True
  291.          Caption         =   "InActive Tab Height:"
  292.          Height          =   195
  293.          Left            =   3450
  294.          TabIndex        =   31
  295.          Top             =   1185
  296.          Width           =   1485
  297.       End
  298.       Begin VB.Label lblActiveTabHeight 
  299.          AutoSize        =   -1  'True
  300.          Caption         =   "Active Tab Height:"
  301.          Height          =   195
  302.          Left            =   180
  303.          TabIndex        =   30
  304.          Top             =   1185
  305.          Width           =   1335
  306.       End
  307.       Begin VB.Label lblPictureSize 
  308.          AutoSize        =   -1  'True
  309.          Caption         =   "Picture Size:"
  310.          Height          =   195
  311.          Left            =   210
  312.          TabIndex        =   29
  313.          Top             =   2940
  314.          Width           =   885
  315.       End
  316.       Begin VB.Label lblPictureAlignment 
  317.          AutoSize        =   -1  'True
  318.          Caption         =   "Picture Alignment:"
  319.          Height          =   195
  320.          Left            =   210
  321.          TabIndex        =   28
  322.          Top             =   3390
  323.          Width           =   1305
  324.       End
  325.    End
  326.    Begin VB.Frame fraTabSpecificProperties 
  327.       Caption         =   " Tab Specific Properties "
  328.       BeginProperty Font 
  329.          Name            =   "Tahoma"
  330.          Size            =   8.25
  331.          Charset         =   0
  332.          Weight          =   700
  333.          Underline       =   0   'False
  334.          Italic          =   0   'False
  335.          Strikethrough   =   0   'False
  336.       EndProperty
  337.       Height          =   1785
  338.       Left            =   30
  339.       TabIndex        =   22
  340.       Top             =   5790
  341.       Width           =   6765
  342.       Begin VB.CommandButton cmdApply 
  343.          Caption         =   "Apply"
  344.          Height          =   285
  345.          Left            =   5190
  346.          TabIndex        =   20
  347.          Top             =   1230
  348.          Width           =   1245
  349.       End
  350.       Begin VB.CommandButton cmdRemovePic 
  351.          Caption         =   "Remove"
  352.          Height          =   225
  353.          Left            =   2310
  354.          TabIndex        =   19
  355.          Top             =   1350
  356.          Width           =   735
  357.       End
  358.       Begin VB.CheckBox chkTabEnabled 
  359.          Caption         =   "Enabled"
  360.          Height          =   195
  361.          Left            =   3450
  362.          TabIndex        =   16
  363.          Top             =   360
  364.          Width           =   945
  365.       End
  366.       Begin VB.TextBox txtTabCaption 
  367.          Height          =   285
  368.          Left            =   1710
  369.          MaxLength       =   255
  370.          TabIndex        =   17
  371.          Top             =   690
  372.          Width           =   4725
  373.       End
  374.       Begin VB.CommandButton cmdAssignPic 
  375.          Caption         =   "Assign"
  376.          Height          =   225
  377.          Left            =   2310
  378.          TabIndex        =   18
  379.          Top             =   1080
  380.          Width           =   735
  381.       End
  382.       Begin VB.PictureBox picOuter 
  383.          Appearance      =   0  'Flat
  384.          ForeColor       =   &H80000008&
  385.          Height          =   510
  386.          Left            =   1710
  387.          ScaleHeight     =   32
  388.          ScaleMode       =   3  'Pixel
  389.          ScaleWidth      =   32
  390.          TabIndex        =   23
  391.          TabStop         =   0   'False
  392.          Top             =   1080
  393.          Width           =   510
  394.          Begin VB.Image imgPreview 
  395.             Height          =   480
  396.             Left            =   0
  397.             Top             =   0
  398.             Width           =   480
  399.          End
  400.       End
  401.       Begin VB.CommandButton cmdPrevious 
  402.          Caption         =   "<"
  403.          Height          =   285
  404.          Left            =   2760
  405.          TabIndex        =   14
  406.          Top             =   300
  407.          Width           =   200
  408.       End
  409.       Begin VB.CommandButton cmdNext 
  410.          Caption         =   ">"
  411.          Height          =   285
  412.          Left            =   2970
  413.          TabIndex        =   15
  414.          Top             =   300
  415.          Width           =   200
  416.       End
  417.       Begin VB.TextBox txtActiveTab 
  418.          Height          =   285
  419.          Left            =   1710
  420.          MaxLength       =   5
  421.          TabIndex        =   13
  422.          Top             =   300
  423.          Width           =   1020
  424.       End
  425.       Begin VB.Label lblTabCaption 
  426.          AutoSize        =   -1  'True
  427.          Caption         =   "Caption: "
  428.          Height          =   195
  429.          Left            =   210
  430.          TabIndex        =   26
  431.          Top             =   735
  432.          Width           =   660
  433.       End
  434.       Begin VB.Label lblPicture 
  435.          AutoSize        =   -1  'True
  436.          Caption         =   "Picture:"
  437.          Height          =   195
  438.          Left            =   210
  439.          TabIndex        =   25
  440.          Top             =   1245
  441.          Width           =   555
  442.       End
  443.       Begin VB.Label lblActiveTab 
  444.          AutoSize        =   -1  'True
  445.          Caption         =   "Active Tab:"
  446.          Height          =   195
  447.          Left            =   210
  448.          TabIndex        =   24
  449.          Top             =   345
  450.          Width           =   825
  451.       End
  452.    End
  453. End
  454. Attribute VB_Name = "frmTestControlProperties"
  455. Attribute VB_GlobalNameSpace = False
  456. Attribute VB_Creatable = False
  457. Attribute VB_PredeclaredId = True
  458. Attribute VB_Exposed = False
  459. Option Explicit
  460. Private m_bIgnoreChanges As Boolean      'used to prevent Setting of "m_bChanged" flag or property page
  461. Private m_bChanged As Boolean
  462. '=====Event Handlers==================================================================================================
  463. Private Sub cboPictureAlignment_Click()
  464.   If Not m_bIgnoreChanges Then
  465.     XTab1.PictureAlign = cboPictureAlignment.ListIndex      'if the ignore flag is off then set the Pic Alignment
  466.   End If
  467. End Sub
  468. Private Sub cboPictureSize_Click()
  469.   If Not m_bIgnoreChanges Then
  470.     XTab1.PictureSize = cboPictureSize.ListIndex      'if the ignore flag is off then set the Pic Size
  471.   End If
  472. End Sub
  473. Private Sub cboTabStyle_Click()
  474.   If Not m_bIgnoreChanges Then
  475.     XTab1.TabStyle = cboTabStyle.ListIndex       'if the ignore flag is off then set the TabStyle
  476.   End If
  477. End Sub
  478. Private Sub cboTabTheme_Click()
  479.   If Not m_bIgnoreChanges Then
  480.     XTab1.TabTheme = cboTabTheme.ListIndex 'if the ignore flag is off then set the Tab Theme
  481.   End If
  482. End Sub
  483. Private Sub chkShowFocusRect_Click()
  484.   If Not m_bIgnoreChanges Then m_bChanged = True     'if the ignore flag is off, indicate some property has m_bChanged
  485. End Sub
  486. Private Sub chkTabEnabled_Click()
  487.   If Not m_bIgnoreChanges Then m_bChanged = True     'if the ignore flag is off, indicate some property has m_bChanged
  488. End Sub
  489. Private Sub chkUseMaskColor_Click()
  490.   If Not m_bIgnoreChanges Then
  491.     If chkUseMaskColor.Value = vbChecked Then
  492.       XTab1.UseMaskColor = True
  493.       cmdSelectMaskColor.Enabled = True
  494.     Else
  495.       XTab1.UseMaskColor = False
  496.       cmdSelectMaskColor.Enabled = False
  497.     End If
  498.   End If
  499. End Sub
  500. Private Sub cmdApply_Click()
  501.   If pValidatePropValues Then
  502.     Call pSavePropValues
  503.     m_bChanged = False
  504.   Else
  505.     m_bChanged = True
  506.   End If
  507. End Sub
  508. Private Sub cmdAssignPic_Click()
  509.   Dim sTmp As String
  510.   
  511.   sTmp = InputBox("Enter Path for the Image file.", "Image file")
  512.   If sTmp <> "" Then
  513.     
  514.     'done to destroy the resource
  515.     Set XTab1.TabPicture(XTab1.ActiveTab) = Nothing
  516.     
  517.     'done to destroy the resource
  518.     Set imgPreview.Picture = Nothing
  519.     
  520.     Set imgPreview.Picture = LoadPicture(sTmp)  'load the whole picture from the file and store it into the tab's picture property
  521.     'Set XTab1.TabPicture(XTab1.ActiveTab) = LoadPicture(sTmp)  'load the whole picture from the file and store it into the tab's picture property
  522.     
  523.     Set XTab1.TabPicture(XTab1.ActiveTab) = imgPreview.Picture
  524.     
  525.     'Set imgPreview.Picture = XTab1.TabPicture(XTab1.ActiveTab)
  526.     
  527.     Call pAlignImage
  528.     
  529.     Refresh    'donno but must refresh or else sometimes the picture goes away :(
  530.     
  531.   End If
  532. End Sub
  533. Private Sub cmdBack_Click()
  534.   Unload Me
  535. End Sub
  536. Private Sub cmdNext_Click()
  537.   Dim iTmp As Integer
  538.   
  539.   iTmp = XTab1.ActiveTab
  540.   
  541.   If iTmp < XTab1.TabCount - 1 Then
  542.     
  543.     If m_bChanged Then
  544.       Call pSaveOnlyActiveTabControlProperties   'save existing props first
  545.     End If
  546.     
  547.     XTab1.ActiveTab = iTmp + 1
  548.     Call pGetAndFillPropValues
  549.   End If
  550. End Sub
  551. Private Sub cmdPrevious_Click()
  552.   
  553.   If XTab1.ActiveTab > 0 Then
  554.     
  555.     If m_bChanged Then
  556.       Call pSaveOnlyActiveTabControlProperties   'save existing props first
  557.     End If
  558.     
  559.     XTab1.ActiveTab = XTab1.ActiveTab - 1
  560.     Call pGetAndFillPropValues
  561.   End If
  562. End Sub
  563. Private Sub cmdRemovePic_Click()
  564.   Set XTab1.TabPicture(XTab1.ActiveTab) = Nothing
  565.   Set imgPreview.Picture = Nothing
  566. End Sub
  567. Private Sub cmdSelectMaskColor_Click()
  568.   On Error Resume Next
  569.   
  570.   'Swicth to Color's Property Page
  571.   SendKeys "^+{Tab}"
  572. End Sub
  573. Private Sub Form_Load()
  574.   Call pGetAndFillPropValues
  575. End Sub
  576. Private Sub txtActiveTab_Change()
  577.   If Not m_bIgnoreChanges Then m_bChanged = True     'if the ignore flag is off, indicate some property has m_bChanged
  578. End Sub
  579. Private Sub txtActiveTabHeight_Change()
  580.   If Not m_bIgnoreChanges Then m_bChanged = True     'if the ignore flag is off, indicate some property has m_bChanged
  581. End Sub
  582. Private Sub txtInActiveTabHeight_Change()
  583.   If Not m_bIgnoreChanges Then m_bChanged = True     'if the ignore flag is off, indicate some property has m_bChanged
  584. End Sub
  585. Private Sub txtTabCaption_Change()
  586.   If Not m_bIgnoreChanges Then m_bChanged = True     'if the ignore flag is off, indicate some property has m_bChanged
  587. End Sub
  588. Private Sub txtTabCount_Change()
  589.   If Not m_bIgnoreChanges Then m_bChanged = True     'if the ignore flag is off, indicate some property has m_bChanged
  590. End Sub
  591. Private Sub txtXRadius_Change()
  592.   If Not m_bIgnoreChanges Then m_bChanged = True     'if the ignore flag is off, indicate some property has m_bChanged
  593. End Sub
  594. Private Sub txtYRadius_Change()
  595.   If Not m_bIgnoreChanges Then m_bChanged = True     'if the ignore flag is off, indicate some property has m_bChanged
  596. End Sub
  597. '=====================================================================================================================
  598. '====Private Functions================================================================================================
  599. Private Sub pAlignImage()
  600.     'do adjustments
  601.     If imgPreview.Width < 32 Then
  602.       imgPreview.Stretch = False
  603.       imgPreview.Left = 16 - imgPreview.Width / 2
  604.     Else
  605.       imgPreview.Stretch = True
  606.       imgPreview.Width = 32
  607.       imgPreview.Left = 0
  608.     End If
  609.     
  610.     If imgPreview.Height < 32 Then
  611.       imgPreview.Stretch = False
  612.       imgPreview.Top = 16 - imgPreview.Height / 2
  613.     Else
  614.       imgPreview.Stretch = True
  615.       imgPreview.Height = 32
  616.       imgPreview.Top = 0
  617.     End If
  618. End Sub
  619. Private Function pValidatePropValues() As Boolean
  620.   Dim oCtl As Control
  621.   m_bIgnoreChanges = True
  622.   
  623.   For Each oCtl In Controls
  624.     If TypeOf oCtl Is TextBox Then
  625.       If oCtl.Name <> "txtTabCaption" Then
  626.         oCtl.Text = Trim$(oCtl.Text)
  627.         
  628.         If IsNumeric(oCtl.Text) Then
  629.           If CLng(oCtl.Text) < 0 Then
  630.             oCtl.SetFocus
  631.             MsgBox "Enter a value between 1 and 32767 in '" & Mid$(oCtl.Name, 4) & "' text box.", vbInformation
  632.             m_bIgnoreChanges = False
  633.             Exit Function
  634.           ElseIf CLng(oCtl.Text) > 32767 Then
  635.             oCtl.SetFocus
  636.             MsgBox "Enter a value between 1 and 32767 in '" & Mid$(oCtl.Name, 4) & "' text box.", vbInformation
  637.             m_bIgnoreChanges = False
  638.             Exit Function
  639.           End If
  640.         Else
  641.           oCtl.SetFocus
  642.           MsgBox "Enter a value between 1 and 32767 in active text box.", vbInformation
  643.           m_bIgnoreChanges = False
  644.           Exit Function
  645.         End If
  646.       End If
  647.     End If
  648.   Next
  649.   
  650.   If CLng(txtActiveTab.Text) >= XTab1.TabCount Then
  651.     txtActiveTab.SetFocus
  652.     MsgBox "Active tab should be a number between 1 to TabCount -1", vbInformation, "Tab Count"
  653.     m_bIgnoreChanges = False
  654.     Exit Function
  655.   End If
  656.   
  657.   
  658.   m_bIgnoreChanges = False
  659.   
  660.   pValidatePropValues = True
  661. End Function
  662. Private Sub pSavePropValues()
  663.   With XTab1
  664.     '.bIgnoreRedraw = True    'was trying to prevent rerdraw as many properties are being m_bChanged...
  665.                               'but can not access friend functions in property pages
  666.                               'so dropped the idea. But left it in the place as there can
  667.                               'be some other way of doing it.
  668.     
  669.     .TabCount = txtTabCount.Text
  670.     
  671.     Call pSaveOnlyActiveTabControlProperties
  672.    
  673.     '.TabStyle = cboTabStyle.ListIndex
  674.     
  675.     'update the theme only if its different than the current theme
  676.     'If Not .TabTheme = cboTabTheme.ListIndex Then
  677.     '  .TabTheme = cboTabTheme.ListIndex
  678.     'End If
  679.     
  680.     .ActiveTabHeight = txtActiveTabHeight.Text
  681.     .InActiveTabHeight = txtInActiveTabHeight.Text
  682.     .XRadius = txtXRadius.Text
  683.     .YRadius = txtYRadius.Text
  684.     
  685.     .ShowFocusRect = IIf(chkShowFocusRect.Value = vbChecked, True, False)
  686.     
  687.     '.bIgnoreRedraw = False
  688.     '.pRefresh
  689.   End With
  690. End Sub
  691. Private Sub pGetAndFillPropValues()
  692.   m_bIgnoreChanges = True
  693.   
  694.   With XTab1
  695.     txtTabCount.Text = .TabCount
  696.     txtActiveTab.Text = .ActiveTab
  697.     txtTabCaption.Text = .TabCaption(.ActiveTab)
  698.     
  699.     If .TabPicture(.ActiveTab) Is Nothing Then
  700.       imgPreview.Picture = Nothing
  701.       cmdRemovePic.Enabled = False
  702.     Else
  703.       imgPreview.Picture = .TabPicture(.ActiveTab)
  704.       cmdRemovePic.Enabled = True
  705.     End If
  706.     
  707.     Call pAlignImage
  708.     
  709.     chkTabEnabled.Value = IIf(.TabEnabled(.ActiveTab), vbChecked, vbUnchecked)
  710.    
  711.     cboTabStyle.ListIndex = .TabStyle
  712.     cboTabTheme.ListIndex = .TabTheme
  713.     
  714.     txtActiveTabHeight.Text = .ActiveTabHeight
  715.     txtInActiveTabHeight.Text = .InActiveTabHeight
  716.     txtXRadius.Text = .XRadius
  717.     txtYRadius.Text = .YRadius
  718.     
  719.     chkShowFocusRect.Value = IIf(.ShowFocusRect, vbChecked, vbUnchecked)
  720.     If .UseMaskColor Then
  721.       chkUseMaskColor.Value = vbChecked
  722.       cmdSelectMaskColor.Enabled = True
  723.     Else
  724.       chkUseMaskColor.Value = vbUnchecked
  725.       cmdSelectMaskColor.Enabled = False
  726.     End If
  727.     chkUseMaskColor.Value = IIf(.UseMaskColor, vbChecked, vbUnchecked)
  728.     cboPictureSize.ListIndex = .PictureSize
  729.     cboPictureAlignment.ListIndex = .PictureAlign
  730.     
  731.   End With
  732.   m_bIgnoreChanges = False
  733. End Sub
  734. Private Sub pSaveOnlyActiveTabControlProperties()
  735.     With XTab1
  736.       '.bIgnoreRedraw = True    'was trying to prevent rerdraw as many properties are being m_bChanged...
  737.                                 'but can not access friend functions in property pages
  738.                                 'so dropped the idea. But left it in the place as there can
  739.                                 'be some other way of doing it.
  740.       
  741.       .TabCaption(.ActiveTab) = txtTabCaption.Text
  742.       
  743.       'Picture already set
  744.       'If Not imgPreview.Picture Is Nothing Then
  745.       '  Set .TabPicture(.ActiveTab) = LoadPicture(imgPreview.Tag, vbLPCustom, , 16, 16)
  746.       'Else
  747.       '  Set .TabPicture(.ActiveTab) = Nothing
  748.       'End If
  749.       
  750.       .TabEnabled(.ActiveTab) = IIf(chkTabEnabled.Value = vbChecked, True, False)
  751.       '.bIgnoreRedraw = False
  752.       '.pRefresh
  753.     End With
  754. End Sub
  755. '=====================================================================================================================