Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#10

AW: ListView Scrollen per Code

  Alt 22. Jan 2018, 11:27
Ich brauch nicht wissen wo die mitte in meiner ListView ist,
ich fragte nach Beispielen wie man ein ausgewähltes Item innerhalb der ListView in den Sichtbaren Bereich bekommt.
Wie ermittelst du das ein Item eine Höhe von 12 hat? Der rest ergibt sich ja dann von selbst.
Gar nicht! ?
Ich übergebe sie und setze lediglich den TopIndex.

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 := 66;
  LVPlayList.Width := MainWidth - 232;
  LVPlayList.Height := MainHeight - 108;
  LVPlayList.DlgItemID := ID_PLAYLIST;
  LVPlayList.Visible := False;
  LVPlayList.ItemHeight := 19; // <<<< ListView Item Höhe.
  LVPlayList.CreateWindow(hMain);
  LVPlayList.SetFont(14, PWideChar(SKAERO_TEXTFONT), FontStyleBoldItalic,
    SKAERO_ACTIVECAPTION, SKAERO_INACTIVECAPTION, True, 1.5);

  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, '', -1, False, sortString);

  SKAERO_SetAnchorMode(LVPlayList.Handle, ANCHOR_HEIGHT_WIDTH);
  SKAERO_SetZorder(LVPlayList.Handle, HWND_TOP);
Hmmm.. ich dachte eigentlich das wir über Win32Api reden da ich gelesen habe das du damit arbeitest.
Wenn dem nicht so ist vergesse meine Post.

Aber das es geht siehe shot.
Und bei mir ist der erste sichtbare Eintrag eines ListView, TopItem da muss man nichts berechnen.

gruss

Geändert von EWeiss (11. Jul 2019 um 16:49 Uhr)
  Mit Zitat antworten Zitat