AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

TreeView: Anzahl der sichtbaren Einträge?

Ein Thema von pstruh · begonnen am 4. Sep 2007 · letzter Beitrag vom 4. Sep 2007
Antwort Antwort
pstruh
(Gast)

n/a Beiträge
 
#1

TreeView: Anzahl der sichtbaren Einträge?

  Alt 4. Sep 2007, 20:48
Noch 'ne Frage zum TreeView...
Habe jetzt noch intensiver gesucht und wieder nix gefunden: Im StringGrid gibts die property "VisibleRowCount" - etwas vergleichbares habe ICH zum TreeView nicht gefunden. Gibt es einen Weg, die maximale Anzahl der im Fenster sichtbaren "Zeilen" (also Nodes) zu ermitteln? Der Weg, dies über die für das Tree festgelegte Font-Größe zu berechnen erscheint mir etwas "hemdsärmlig" ...
Gruß aus Hamburg
  Mit Zitat antworten Zitat
pstruh
(Gast)

n/a Beiträge
 
#2

Re: TreeView: Anzahl der sichtbaren Einträge?

  Alt 4. Sep 2007, 21:16
hmmm, keine TreeView-Experten zur Stelle. Deshalb mal meine "hemdsärmlige" Lösung ...

Delphi-Quellcode:
procedure TfoMain.SelectTreeNode(Header:String);
var i,maxVisibleNodes,D : Integer;
begin
 with treeviewIdx do begin
  SetFocus;
  for i:=0 to pred(Items.Count) do
   if Items[i].Text=Header then begin
    Items[i].Selected:=true;
    Break;
    end;

  // Items[i].MakeVisible; << bringt markierten Eintrag in den sichtbaren Bereich
  // allerdings "irgendwo" - nicht besonders "hübsch"
  //
  // deshalb alternativ, wenn markierter Eintrag z.B. in FensterMitte
  // angezeigt werden soll, folgendes Konstrukt ...

  maxVisibleNodes:=Height div (Font.Size*2);
  D:=(maxVisibleNodes-1) div 2;
  dec(i,D);
  if i<0 then i:=0;
  TopItem:=Items[i];
  end;
end;
Das ganze funktioniert am getesteten Beispiel einwandfrei - aber die Annahme, dass die "Zeilenhöhe" immer Font.Size*2 ist, erscheint mir doch ein wenig gewagt ...
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: TreeView: Anzahl der sichtbaren Einträge?

  Alt 4. Sep 2007, 22:07
Hallo Ralph

geht das bei dir nicht auch so?

Delphi-Quellcode:
var
  n: Integer;
begin
  with TreeView do
    n := TreeView_GetVisibleCount(Handle);
end;
Gute Nacht
  Mit Zitat antworten Zitat
pstruh
(Gast)

n/a Beiträge
 
#4

Re: TreeView: Anzahl der sichtbaren Einträge?

  Alt 4. Sep 2007, 22:23
Hallo Achim,
Wow, ist genial - das findet man (wohl?) nicht mit F1. Also nicht nur die Hilfe konsultieren, sondern auch mal in die unit Commctrl 'reinschauen! Vielen Dank, habe heute Abend wieder 'ne Menge dazugelernt!
Viele Grüße und Gute Nacht!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 09:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz