AGB  ·  Datenschutz  ·  Impressum  







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

TreeView: Item komplett markieren?

Ein Thema von Pseudemys Nelsoni · begonnen am 6. Aug 2005 · letzter Beitrag vom 12. Aug 2005
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

TreeView: Item komplett markieren?

  Alt 6. Aug 2005, 22:43
Moin,

ich habe eine Frage und zwar, wie kann ich ein Item eines treeviews komplett, d.h nicht nur die schrift selektieren?

So wie da: http://www.nnscript.com/40teaser/new6/new5.png

?
Mario
  Mit Zitat antworten Zitat
tigerman33

Registriert seit: 30. Jul 2005
Ort: München
423 Beiträge
 
Delphi 2005 Professional
 
#2

Re: TreeView: Item komplett markieren?

  Alt 7. Aug 2005, 08:40
Kann es im Moment nicht abchecken, aber hat TTreeView nicht wie TListView die Möglichkeit, mit OwnerDraw selbst das Zeichnen der Einträge zu übernehmen?
Dann könntest du ja über den Canvas des TreeViews einfach ein FillRect machen.
Christian
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#3

Re: TreeView: Item komplett markieren?

  Alt 7. Aug 2005, 10:05
Moin,

ne hat sie nicht, ich hab sowas mit Zeichnen noch nie gemacht . Hoffe jemand kann mir erklären wie idch da mit Canvas(?) male
Mario
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#4

Re: TreeView: Item komplett markieren?

  Alt 7. Aug 2005, 10:14
Hallo,

OnCustomDrawItem scheint mir der richtige Ansatz zu sein.

Gruß
xaromz
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#5

Re: TreeView: Item komplett markieren?

  Alt 7. Aug 2005, 10:19
Das Problem wird sicher sein das dann auch das "Stateimage [+]" überzeichnet wird. (zummindest ist es bei mir so).
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#6

Re: TreeView: Item komplett markieren?

  Alt 7. Aug 2005, 10:58
Hallo,

also hiermit gehts:
Delphi-Quellcode:
procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView;
  Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
var
  NodeRect: TRect;
begin
  NodeRect := Node.DisplayRect(False);
  if cdsSelected in State then
    Sender.Canvas.Brush.Color := clLime
  else
    Sender.Canvas.Brush.Color := TTreeView(Sender).Color;

  Sender.Canvas.FillRect(NodeRect);

  DefaultDraw := True;
end;
Das einzige Problem: Sobald man auf das Handle des Canvas zugreift (z. B. über FillRect) wird die Schrift verstellt , aber nur bei nicht markierten Nodes. Keine Ahnung warum oder wie man das verhindert. Siehe dazu das Bild.

Gruß
xaromz
Miniaturansicht angehängter Grafiken
treeview_203.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#7

Re: TreeView: Item komplett markieren?

  Alt 7. Aug 2005, 11:07
Hai xaromz,

so hatte ich es auch versucht. Dabei ist aber das wie im Anhang rausgekommen. (Bild2 und Bild3).

Darum habe ich es etwas "koplizierter" gemacht. Es sieht dann so aus wie Bild1.

Edit: Habe das Projekt vergessen
Miniaturansicht angehängter Grafiken
bild1_615.jpg   bild2_285.jpg   bild3_177.jpg  
Angehängte Dateien
Dateityp: zip eigener_hintergrund_863.zip (9,2 KB, 23x aufgerufen)
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#8

Re: TreeView: Item komplett markieren?

  Alt 7. Aug 2005, 11:23
Moin,

danke euch Zwei. Ich würde gerne das Beispiel von xaromz verwenden (weil keine Extragrafiken), nur stört mich das mit dem Font schon, ich wollte Tahoma? <g> Kann man das irgendwie noch hinkriegen?
Mario
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#9

Re: TreeView: Item komplett markieren?

  Alt 7. Aug 2005, 11:29
Hallo,

was das mit dem Font soll weiss ich leider auch nicht. Ich tippe auf nen Bug.

@Sharky: Die Unterschiede gibt's wohl, weil ich Delphi 7 verwende und Du Delphi 2005.

Gruß
xaromz
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#10

Re: TreeView: Item komplett markieren?

  Alt 7. Aug 2005, 11:49
Hm, das ist ja doof Borland halt....
Mario
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 02:59 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