home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 3_2004-2005.ISO / Data / Zips / API-ucList1887915132005.psc / fTest.frm < prev    next >
Text File  |  2004-12-09  |  15KB  |  507 lines

  1. VERSION 5.00
  2. Begin VB.Form fTest 
  3.    Caption         =   "ucListView - Test"
  4.    ClientHeight    =   7335
  5.    ClientLeft      =   60
  6.    ClientTop       =   345
  7.    ClientWidth     =   9540
  8.    ClipControls    =   0   'False
  9.    BeginProperty Font 
  10.       Name            =   "Tahoma"
  11.       Size            =   8.25
  12.       Charset         =   0
  13.       Weight          =   400
  14.       Underline       =   0   'False
  15.       Italic          =   0   'False
  16.       Strikethrough   =   0   'False
  17.    EndProperty
  18.    LinkTopic       =   "Form1"
  19.    LockControls    =   -1  'True
  20.    ScaleHeight     =   489
  21.    ScaleMode       =   3  'Pixel
  22.    ScaleWidth      =   636
  23.    StartUpPosition =   2  'CenterScreen
  24.    Begin LV.ucListView ucListView1 
  25.       Height          =   5535
  26.       Left            =   2280
  27.       TabIndex        =   21
  28.       Top             =   240
  29.       Width           =   6735
  30.       _extentx        =   11880
  31.       _extenty        =   9763
  32.    End
  33.    Begin VB.PictureBox picSetup 
  34.       Align           =   3  'Align Left
  35.       BorderStyle     =   0  'None
  36.       Height          =   7335
  37.       Left            =   0
  38.       ScaleHeight     =   7335
  39.       ScaleWidth      =   2085
  40.       TabIndex        =   0
  41.       TabStop         =   0   'False
  42.       Top             =   0
  43.       Width           =   2085
  44.       Begin VB.CheckBox chkHeaderFixedWidth 
  45.          Caption         =   "HeaderFixedWidth"
  46.          Height          =   285
  47.          Left            =   195
  48.          TabIndex        =   17
  49.          Top             =   5970
  50.          Width           =   1815
  51.       End
  52.       Begin VB.CheckBox chkHeaderHide 
  53.          Caption         =   "HeaderHide"
  54.          Height          =   285
  55.          Left            =   195
  56.          TabIndex        =   19
  57.          Top             =   6540
  58.          Width           =   1815
  59.       End
  60.       Begin VB.CheckBox chkUnderlineHot 
  61.          Caption         =   "UnderlineHot"
  62.          Height          =   285
  63.          Left            =   465
  64.          TabIndex        =   15
  65.          Top             =   5310
  66.          Width           =   1695
  67.       End
  68.       Begin VB.CheckBox chkLabelEdit 
  69.          Caption         =   "LabelEdit"
  70.          Height          =   225
  71.          Left            =   195
  72.          TabIndex        =   5
  73.          Top             =   2190
  74.          Width           =   975
  75.       End
  76.       Begin VB.CheckBox chkTrackSelect 
  77.          Caption         =   "TrackSelect"
  78.          Height          =   285
  79.          Left            =   465
  80.          TabIndex        =   14
  81.          Top             =   5010
  82.          Width           =   1815
  83.       End
  84.       Begin VB.CheckBox chkHideSelection 
  85.          Caption         =   "HideSelection"
  86.          Height          =   285
  87.          Left            =   195
  88.          TabIndex        =   6
  89.          Top             =   2580
  90.          Width           =   1815
  91.       End
  92.       Begin VB.CheckBox chkOneClickActivate 
  93.          Caption         =   "OneClickActivate"
  94.          Height          =   285
  95.          Left            =   195
  96.          TabIndex        =   13
  97.          Top             =   4695
  98.          Width           =   1815
  99.       End
  100.       Begin VB.CheckBox chkLabelTips 
  101.          Caption         =   "LabelTips"
  102.          Height          =   285
  103.          Left            =   195
  104.          TabIndex        =   12
  105.          Top             =   4395
  106.          Width           =   1815
  107.       End
  108.       Begin VB.CommandButton cmdFill 
  109.          Caption         =   "&Fill (100 items)"
  110.          Height          =   435
  111.          Left            =   195
  112.          TabIndex        =   3
  113.          Top             =   1005
  114.          Width           =   1245
  115.       End
  116.       Begin VB.CommandButton cmdClear 
  117.          Caption         =   "&Clear"
  118.          Height          =   435
  119.          Left            =   195
  120.          TabIndex        =   4
  121.          Top             =   1530
  122.          Width           =   1245
  123.       End
  124.       Begin VB.CheckBox chkMultiselect 
  125.          Caption         =   "Multiselect"
  126.          Height          =   285
  127.          Left            =   195
  128.          TabIndex        =   7
  129.          Top             =   2880
  130.          Width           =   1815
  131.       End
  132.       Begin VB.ComboBox cbViewMode 
  133.          Height          =   315
  134.          Left            =   195
  135.          Style           =   2  'Dropdown List
  136.          TabIndex        =   2
  137.          Top             =   525
  138.          Width           =   1695
  139.       End
  140.       Begin VB.CheckBox chkCheckBoxes 
  141.          Caption         =   "CheckBoxes"
  142.          Height          =   285
  143.          Left            =   195
  144.          TabIndex        =   8
  145.          Top             =   3180
  146.          Width           =   1815
  147.       End
  148.       Begin VB.CheckBox chkGridLines 
  149.          Caption         =   "GridLines"
  150.          Height          =   285
  151.          Left            =   195
  152.          TabIndex        =   10
  153.          Top             =   3780
  154.          Width           =   1815
  155.       End
  156.       Begin VB.CheckBox chkFullRowSelect 
  157.          Caption         =   "FullRowSelect"
  158.          Height          =   285
  159.          Left            =   195
  160.          TabIndex        =   11
  161.          Top             =   4080
  162.          Width           =   1815
  163.       End
  164.       Begin VB.CheckBox chkSubItemImages 
  165.          Caption         =   "SubItemImages"
  166.          Height          =   285
  167.          Left            =   195
  168.          TabIndex        =   9
  169.          Top             =   3480
  170.          Width           =   1815
  171.       End
  172.       Begin VB.CheckBox chkHeaderFlat 
  173.          Caption         =   "HeaderFlat"
  174.          Height          =   285
  175.          Left            =   195
  176.          TabIndex        =   18
  177.          Top             =   6255
  178.          Width           =   1815
  179.       End
  180.       Begin VB.CheckBox chkScrollBarFlat 
  181.          Caption         =   "ScrollBarFlat"
  182.          Height          =   285
  183.          Left            =   195
  184.          TabIndex        =   20
  185.          Top             =   6825
  186.          Width           =   1815
  187.       End
  188.       Begin VB.ComboBox cbBorderStyle 
  189.          Height          =   315
  190.          Left            =   195
  191.          Style           =   2  'Dropdown List
  192.          TabIndex        =   1
  193.          Top             =   150
  194.          Width           =   1695
  195.       End
  196.       Begin VB.CheckBox chkHeaderDragDrop 
  197.          Caption         =   "HeaderDragDrop"
  198.          Height          =   285
  199.          Left            =   195
  200.          TabIndex        =   16
  201.          Top             =   5685
  202.          Width           =   1815
  203.       End
  204.    End
  205. End
  206. Attribute VB_Name = "fTest"
  207. Attribute VB_GlobalNameSpace = False
  208. Attribute VB_Creatable = False
  209. Attribute VB_PredeclaredId = True
  210. Attribute VB_Exposed = False
  211. Option Explicit
  212.  
  213. Private Const sCHARS As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz "
  214.  
  215. Private m_ColumnSortOrder(2) As eSortOrderConstants
  216. Private m_CurrentColumn      As Integer
  217.  
  218.  
  219.  
  220. Private Sub Form_Load()
  221.  
  222.     With cbBorderStyle
  223.         .AddItem "0 - bsNone"
  224.         .AddItem "1 - bsThin"
  225.         .AddItem "2 - bsThick"
  226.     End With
  227.     With cbViewMode
  228.         .AddItem "0 - vmIcon"
  229.         .AddItem "1 - vmDetails"
  230.         .AddItem "2 - vmSmallIcon"
  231.         .AddItem "3 - vmList"
  232.     End With
  233.     
  234.     With ucListView1
  235.     
  236.         Call .Initialize
  237.         
  238.         Call .InitializeImageListSmall
  239.         Call .InitializeImageListLarge
  240.         Call .InitializeImageListHeader
  241.         Call .ImageListSmall_AddBitmap(LoadResPicture("IL16x16", vbResBitmap), vbMagenta)
  242.         Call .ImageListLarge_AddBitmap(LoadResPicture("IL32x32", vbResBitmap), vbMagenta)
  243.         Call .ImageListHeader_AddBitmap(LoadResPicture("ILHEADER", vbResBitmap), vbMagenta)
  244.         
  245.         Call .ColumnAdd(0, "Header 1", 150, [caLeft])
  246.         Call .ColumnAdd(1, "Header 2", 100, [caRight])
  247.         Call .ColumnAdd(2, "Header 3", 100, [caCenter])
  248.         
  249.         .RaiseSubItemPrePaint = True 'Force OnSubItemPrePaint() event
  250.     End With
  251.     
  252.     cbBorderStyle.ListIndex = 2
  253.     cbViewMode.ListIndex = 3
  254.     
  255.     Call Randomize(Timer)
  256.     Call cmdFill_Click
  257. End Sub
  258.  
  259. Private Sub Form_Resize()
  260.     
  261.     On Error Resume Next
  262.     Call ucListView1.Move(picSetup.Width + 10, 10, Me.ScaleWidth - (picSetup.Width + 20), Me.ScaleHeight - 20)
  263. End Sub
  264.  
  265.  
  266.  
  267. Private Sub cbBorderStyle_Click()
  268.     ucListView1.BorderStyle = cbBorderStyle.ListIndex
  269. End Sub
  270.  
  271. Private Sub cbViewMode_Click()
  272.     ucListView1.ViewMode = cbViewMode.ListIndex
  273. End Sub
  274.  
  275. Private Sub cmdFill_Click()
  276.             
  277.   Dim nIdx As Integer
  278.   Dim nCol As Integer
  279.     
  280.     With ucListView1
  281.         .Visible = False
  282.         For nCol = 0 To 2
  283.             m_ColumnSortOrder(nCol) = [soDefault] '~None
  284.             .ColumnIcon(nCol) = -1                '~None
  285.         Next nCol
  286.         m_CurrentColumn = -1
  287.         For nIdx = .Count To .Count + 99
  288.             Call .ItemAdd(nIdx, pvRandomString(3), 0, 1)
  289.             Call .SubItemSet(nIdx, 1, Format(-50 + Rnd * 100, "0.0000"), 0)
  290.             Call .SubItemSet(nIdx, 2, DateSerial(2004, Rnd * 11 + 1, Rnd * 30 + 1), 0)
  291.         Next nIdx
  292.         .Visible = True
  293.     End With
  294. End Sub
  295.  
  296. Private Sub cmdClear_Click()
  297.   
  298.   Dim nCol As Integer
  299.   
  300.     For nCol = 0 To 2
  301.         m_ColumnSortOrder(nCol) = [soDefault] '~None
  302.         ucListView1.ColumnIcon(nCol) = -1     '~None
  303.     Next nCol
  304.     m_CurrentColumn = -1
  305.     Call ucListView1.Clear
  306. End Sub
  307.  
  308.  
  309.  
  310. Private Sub chkLabelEdit_Click()
  311.     ucListView1.LabelEdit = CBool(chkLabelEdit)
  312. End Sub
  313.  
  314. Private Sub chkHideSelection_Click()
  315.     ucListView1.HideSelection = CBool(chkHideSelection)
  316. End Sub
  317.  
  318. Private Sub chkMultiselect_Click()
  319.     ucListView1.MultiSelect = CBool(chkMultiselect)
  320. End Sub
  321.  
  322. Private Sub chkCheckBoxes_Click()
  323.     ucListView1.CheckBoxes = CBool(chkCheckBoxes)
  324. End Sub
  325.  
  326. Private Sub chkSubItemImages_Click()
  327.     ucListView1.SubItemImages = CBool(chkSubItemImages)
  328. End Sub
  329.  
  330. Private Sub chkGridLines_Click()
  331.     ucListView1.GridLines = CBool(chkGridLines)
  332. End Sub
  333.  
  334. Private Sub chkFullRowSelect_Click()
  335.     ucListView1.FullRowSelect = CBool(chkFullRowSelect)
  336. End Sub
  337.  
  338. Private Sub chkHeaderDragDrop_Click()
  339.     ucListView1.HeaderDragDrop = CBool(chkHeaderDragDrop)
  340. End Sub
  341.  
  342. Private Sub chkLabelTips_Click()
  343.     ucListView1.LabelTips = CBool(chkLabelTips)
  344. End Sub
  345.  
  346. Private Sub chkOneClickActivate_Click()
  347.     ucListView1.OneClickActivate = CBool(chkOneClickActivate)
  348. End Sub
  349.  
  350. Private Sub chkTrackSelect_Click()
  351.     ucListView1.TrackSelect = CBool(chkTrackSelect)
  352. End Sub
  353.  
  354. Private Sub chkUnderlineHot_Click()
  355.     ucListView1.UnderlineHot = CBool(chkUnderlineHot)
  356. End Sub
  357.  
  358. Private Sub chkHeaderFlat_Click()
  359.     ucListView1.HeaderFlat = CBool(chkHeaderFlat)
  360. End Sub
  361.  
  362. Private Sub chkHeaderHide_Click()
  363.     ucListView1.HeaderHide = CBool(chkHeaderHide)
  364. End Sub
  365.  
  366. Private Sub chkHeaderFixedWidth_Click()
  367.     ucListView1.HeaderFixedWidth = chkHeaderFixedWidth
  368. End Sub
  369.  
  370. Private Sub chkScrollBarFlat_Click()
  371.     ucListView1.ScrollBarFlat = CBool(chkScrollBarFlat)
  372. End Sub
  373.  
  374.  
  375.  
  376. Private Sub ucListView1_GotFocus()
  377.     Debug.Print ">ucListView1_GotFocus"
  378. End Sub
  379.  
  380. Private Sub ucListView1_LostFocus()
  381.     Debug.Print ">ucListView1_LostFocus"
  382. End Sub
  383.  
  384. Private Sub ucListView1_KeyDown(KeyCode As Integer, Shift As Integer)
  385.     Debug.Print ">ucListView1_KeyDown"; KeyCode; Shift
  386. End Sub
  387.  
  388. Private Sub ucListView1_KeyPress(KeyAscii As Integer)
  389.     Debug.Print ">ucListView1_KeyPress"; KeyAscii
  390. End Sub
  391.  
  392. Private Sub ucListView1_KeyUp(KeyCode As Integer, Shift As Integer)
  393.     Debug.Print ">ucListView1_KeyUp"; KeyCode; Shift
  394. End Sub
  395.  
  396. Private Sub ucListView1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
  397.     Debug.Print ">ucListView1_MouseDown"; Button; Shift; x; y
  398. End Sub
  399.  
  400. Private Sub ucListView1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
  401.     Debug.Print ">ucListView1_MouseMove"; Button; Shift; x; y
  402. End Sub
  403.  
  404. Private Sub ucListView1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
  405.     Debug.Print ">ucListView1_MouseUp"; Button; Shift; x; y
  406. End Sub
  407.  
  408. Private Sub ucListView1_MouseEnter()
  409.     Debug.Print ">ucListView1_MouseEnter"
  410. End Sub
  411.  
  412. Private Sub ucListView1_MouseLeave()
  413.     Debug.Print ">ucListView1_MouseLeave"
  414. End Sub
  415.  
  416. Private Sub ucListView1_ColumnClick(Column As Integer)
  417.     Debug.Print ">ucListView1_ColumnClick"; Column
  418.  
  419.   Dim nCol As Integer
  420.     
  421.     With ucListView1
  422.         If (.Count > 1) Then
  423.             For nCol = 0 To 2
  424.                 If (nCol <> Column) Then
  425.                     m_ColumnSortOrder(nCol) = [soDefault] '~None
  426.                     .ColumnIcon(nCol) = -1                '~None
  427.                 End If
  428.             Next nCol
  429.             If (m_ColumnSortOrder(Column) = [soAscending]) Then
  430.                 m_ColumnSortOrder(Column) = [soDescending]
  431.                 .ColumnIcon(Column) = 1 'by User
  432.               Else
  433.                 m_ColumnSortOrder(Column) = [soAscending]
  434.                 .ColumnIcon(Column) = 0 'by User
  435.             End If
  436.             Select Case Column
  437.                 Case 0: Call .Sort(Column, m_ColumnSortOrder(Column), [stStringSensitive])
  438.                 Case 1: Call .Sort(Column, m_ColumnSortOrder(Column), [stNumeric])
  439.                 Case 2: Call .Sort(Column, m_ColumnSortOrder(Column), [stDate])
  440.             End Select
  441.         End If
  442.         m_CurrentColumn = Column
  443.     End With
  444. End Sub
  445.  
  446. Private Sub ucListView1_ColumnRightClick(Column As Integer)
  447.     Debug.Print ">ucListView1_ColumnRightClick"; Column
  448. End Sub
  449.  
  450. Private Sub ucListView1_Click()
  451.     Debug.Print ">ucListView1_Click"
  452. End Sub
  453.  
  454. Private Sub ucListView1_ItemClick(Item As Integer)
  455.     Debug.Print ">ucListView1_ItemClick"; Item
  456. End Sub
  457.  
  458. Private Sub ucListView1_ItemCheck(Item As Integer)
  459.     Debug.Print ">ucListView1_ItemCheck"; Item
  460. End Sub
  461.  
  462. Private Sub ucListView1_DblClick()
  463.     Debug.Print ">ucListView1_DblClick"
  464. End Sub
  465.  
  466. Private Sub ucListView1_AfterLabelEdit(Cancel As Integer, NewString As String)
  467. '   Cancel = 1
  468.     Debug.Print ">ucListView1_AfterLabelEdit"; Cancel; NewString
  469. End Sub
  470.  
  471. Private Sub ucListView1_BeforeLabelEdit(Cancel As Integer)
  472. '   Cancel = 1
  473.     Debug.Print ">ucListView1_BeforeLabelEdit"; Cancel
  474. End Sub
  475.  
  476. Private Sub ucListView1_Resize()
  477.     Debug.Print ">ucListView1_Resize"
  478. End Sub
  479.  
  480. '// New!
  481. Private Sub ucListView1_OnSubItemPrePaint(ByVal Item As Integer, ByVal SubItem As Integer, NewBackColor As Long, NewForeColor As Long, Process As Boolean)
  482. ' Be careful what you add here!
  483.  
  484.     If (Item Mod 2) Then
  485.         NewBackColor = RGB(150, 200, 250)
  486.         NewForeColor = RGB(0, 0, 250)
  487.         Process = True
  488.     End If
  489.     
  490. '   or uncomment next lines for column highlighting
  491.  
  492. '    If (SubItem = m_CurrentColumn) Then
  493. '        NewBackColor = RGB(150, 200, 250)
  494. '        NewForeColor = RGB(0, 0, 250)
  495. '      Else
  496. '        NewBackColor = vbWindowBackground
  497. '        NewForeColor = vbWindowText
  498. '    End If
  499. '    Process = True
  500. End Sub
  501.  
  502. '//
  503.  
  504. Private Function pvRandomString(ByVal nChars As Integer) As String
  505.     pvRandomString = String$(nChars, Mid$(sCHARS, Int(Rnd * Len(sCHARS)) + 1, 1))
  506. End Function
  507.