Results 1 to 8 of 8

Thread: Virtual Listview

Hybrid View

  1. #1
    Win32.Trojan.Heur.Herby
    Join Date
    Dec 2003
    Location
    Nuenen of all places
    Posts
    289

    Virtual Listview

    Hoi

    Ik heb een beetje ruzie met mijn virtual Tlistview (ownerdata := true) wat niet doet van wat ik er van verwachte.


    • Probleem 1 --> Geen checkboxes
      De ruimte wordt wel gereserveerd maar er worden geen checkboxes geplaatst.
      In normale (niet virtuele) mode werkt het wel.
      Name:  Capture.PNG
Views: 768
Size:  6.1 KB
    • Probleem 2 --> grafische glitches
      Op een of andere manier blijft er overal iets achter zodra ik een regel geselecteerd heb.
      maw, dit ziet er niet echt fraai uit.
      Name:  Capture1.png
Views: 708
Size:  6.3 KB

      Dit gebeurd ook als ik checkboxes uit zet.
      Name:  Capture2.png
Views: 687
Size:  6.4 KB


    Wat mis ik hier nu, Listview staat direct op het Form?

    Gr
    Herby

  2. #2
    John Kuiper
    Join Date
    Apr 2007
    Location
    Almere
    Posts
    8,747
    In de virtuele mode zal je ook de checkbox zelf moeten defineren.
    Hoe ziet je OnDrawItem event eruit?
    Delphi is great. Lazarus is more powerfull

  3. #3
    Win32.Trojan.Heur.Herby
    Join Date
    Dec 2003
    Location
    Nuenen of all places
    Posts
    289
    Die heb ik dus niet, ging ervan uit dat deze gewoon erbij zouden komen.

    Die grafische dingen heb ik inmiddels opgelost door DoubleBuffered aan te zetten.

  4. #4
    John Kuiper
    Join Date
    Apr 2007
    Location
    Almere
    Posts
    8,747
    Die grafische dingen heb je toch ook ergens gekoppeld aan een item?
    Delphi is great. Lazarus is more powerfull

  5. #5
    Win32.Trojan.Heur.Herby
    Join Date
    Dec 2003
    Location
    Nuenen of all places
    Posts
    289
    Excuus mijn reactie was wat onuidelijk.
    De grafische glitches heb ik opgelost door DoubleBuffered aan te zetten.

    Ik vul de LV nu met de OnData, ik teken niks want ik had geen idee dat dit de bedoeling was, zou ook niet weten waar ik daar moet beginnen.
    Snap eerlijk gezegd ook niet waarom virtueel de checkboxes niet kunnen en op een normale manier wel.
    In beide gevallen wordt de LV toch gewoon gevuld met items.

    Heb inmiddels ook EasyListView geinstalleerd om te kijken of dat dan een alternatief zou zijn.
    Ik heb een filter optie gemaakt waarmee de LV dan alleen de items laat zien die voldoen aan het filter, geen idee of dat dit ook gaat lukken met de ELV.

  6. #6
    Fornicatorus Formicidae VideoRipper's Avatar
    Join Date
    Mar 2005
    Location
    Vicus Saltus Orientalem
    Posts
    5,708
    De missende checkboxes bij een TListView is een bekende "Feature".
    TMemoryLeak.Create(Nil);

  7. #7
    Win32.Trojan.Heur.Herby
    Join Date
    Dec 2003
    Location
    Nuenen of all places
    Posts
    289
    Vreemd dat dit al die tijd dan nog niet standaard in de LV zit.
    Ben nu bezig met EasyListview, dit werkt eigenlijk net zo goed, enige is dat mijn filter het nog niet doet

    Mijn filter in de standaard LV laat alleen de items zien welke aan het filter voldoen.
    Code:
    procedure TFormMain.LV1ApplyFilter(const aFilter: string);
    var
      I: Integer;
    begin
      LV1.Items.BeginUpdate;
      try
        LV1.Clear;
        FActiveItems.Clear;
        for I := 0 to FItems.Count - 1 do
          if (aFilter = '') or (Pos(UpperCase(aFilter), UpperCase(TServerItem(FItems[I]).Name)) <> 0) then
            FActiveItems.Add(FItems[I]);
        LV1.Items.Count := FActiveItems.Count;
      finally
        LV1.Items.EndUpdate;
      end;
    end;
    Bij de MustangPeak EasyListview lukt me dat op een of andere manier nog niet, dan krijg ik alleemaal list indexes die of of bound gaan.

    Heb dat stukje code zojuist geprobeerd maar die is voor View=vsIcon gemaakt

  8. #8
    Fornicatorus Formicidae VideoRipper's Avatar
    Join Date
    Mar 2005
    Location
    Vicus Saltus Orientalem
    Posts
    5,708
    Het is niet zo heel erg vreemd hoor.

    Zoals zoveel standaard VCL componenten (een TLabel, TComboBox, TCheckBox, TEdit, ...) is ook de TListView (en TTreeView) eigenlijk niet veel meer dan een schil rond standaard Windows controls.
    Er is, in de basis, aan deze controls dus geen extra functionaliteit meegegeven.
    TMemoryLeak.Create(Nil);

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •