AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ListView Spalte mit checkbox VCL

Ein Thema von Rolandrevolvermann · begonnen am 3. Nov 2021 · letzter Beitrag vom 3. Nov 2021
 
venice2
(Gast)

n/a Beiträge
 
#9

AW: ListView Spalte mit checkbox VCL

  Alt 3. Nov 2021, 11:14
Dann musst du das vermutlich über OwnerDraw selbst implementieren.
Jep.

Aber für einen nicht versierten Programmierer ohne tiefere Kenntnisse über die WinApi fast nicht umsetzbar.
Dazu kommt dann noch der Mix zwischen VCL\NonVCL
Habe mich daran versucht.. funktioniert gut aber es war für einen NICHT Informatiker (Hobby Programmierer) gar nicht so einfach das halbwegs zufriedenstellend umzusetzen.

Als Anregung.
Mein ListView basiert auf Interface und wird auf diese weise initialisiert.
Und anschließend alles selbst gezeichnet. (In einer DLL)

Delphi-Quellcode:
  LVPlayList := CTRL_ListViewCreate;
  LVPlayList.SelectedImg := SKAERO_FOLDER + 'ListView\ListSelect.png';
  LVPlayList.HeaderArrowImg := SKAERO_FOLDER + 'ListView\HeaderArrow.png';
  LVPlayList.VTrack := SKAERO_FOLDER + 'ListView\VTrack.png';
  LVPlayList.VThumb := SKAERO_FOLDER + 'ListView\VThumb.png';
  LVPlayList.VBtnUp := SKAERO_FOLDER + 'ListView\VBtnUp.png';
  LVPlayList.VBtnDown := SKAERO_FOLDER + 'ListView\VBtnDown.png';
  LVPlayList.HTrack := SKAERO_FOLDER + 'ListView\HTrack.png';
  LVPlayList.HBtnRight := SKAERO_FOLDER + 'ListView\HBtnRight.png';
  LVPlayList.HThumb := SKAERO_FOLDER + 'ListView\HThumb.png';
  LVPlayList.HBtnLeft := SKAERO_FOLDER + 'ListView\HBtnLeft.png';
  LVPlayList.Sizer := SKAERO_FOLDER + 'ListView\Sizer.png';
  LVPlayList.ArrowImgStateMax := 2;
  LVPlayList.Left := 19;
  LVPlayList.Top := 65;
  LVPlayList.Width := MainWidth - 242;
  LVPlayList.Height := MainHeight - 106;
  LVPlayList.DlgItemID := ID_PLAYLIST;
  LVPlayList.ItemHeight := 23;
  LVPlayList.HeaderHeight := 20;
  LVPlayList.CreateWindow(hMain);
  LVPlayList.SetFont(14, PWideChar(SKAERO_TEXTFONT), FontStyleBoldItalic,
    SKAERO_ACTIVECAPTION, SKAERO_INACTIVECAPTION, True, -1);

  LVPlayList.InsertColumn(LVPlayList.Handle, 0, 'Nr.', 50, False, sortInt);
  LVPlayList.InsertColumn(LVPlayList.Handle, 1, 'Time', 55, False, sortString);
  LVPlayList.InsertColumn(LVPlayList.Handle, 2, 'Title', 250, True, sortString);
  LVPlayList.InsertColumn(LVPlayList.Handle, 3, 'Artist', 250, False, sortString);
  LVPlayList.InsertColumn(LVPlayList.Handle, 4, 'Album', 70, False, sortString);
  LVPlayList.InsertColumn(LVPlayList.Handle, 5, 'Path', 250, False, sortString);

  SKAERO_SetAnchorMode(LVPlayList.Handle, ANCHOR_HEIGHT_WIDTH);
  SKAERO_SetZorder(LVPlayList.Handle, HWND_TOP);
Aber es sollte dich niemand davon abhalten es einfach zu versuchen.
Viel glück dabei.

EDIT:
Zitat:
PS: Könnte man evtl. als Workaround ein Bild in eine Spalte geben und über Klick Event das Bild wechseln?
Ja das geht wenn man sich der LVS_EX Styles bedient siehe LVS_EX_SUBITEMIMAGES

Geändert von venice2 ( 3. Nov 2021 um 22:00 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz