AGB  ·  Datenschutz  ·  Impressum  







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

TreeView Bitmaps zur Laufzeit ändern

Ein Thema von Chemiker · begonnen am 16. Mai 2006 · letzter Beitrag vom 18. Mai 2006
Antwort Antwort
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#1

TreeView Bitmaps zur Laufzeit ändern

  Alt 16. Mai 2006, 19:55
Hallo,

ich habe ein Problem mit der Änderung einer Bitmap in einen TreeView.

Beim anclicken einer DBCheckBox, soll sich an dem markierte Knoten die Bitmap ändern.
Dies funktioniert aber nur beim letzten Knoten, egal welcher Knoten makiert ist.


Delphi-Quellcode:
if TreeView1.Selected <> nil then
begin
  if not DBCheckBox1.Checked then
  begin
    m_Ebene3.SelectedIndex := 3;
    Repaint;
  end;
end;
Vieleicht kann mir einer weiterhelfen ?

[edit=SirThornberry]Delphi-Tags ergänzt. Mfg, SirThornberry[/edit]
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
marabu

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

Re: TreeView Bitmaps zur Laufzeit ändern

  Alt 16. Mai 2006, 21:21
Herzlich willkommen in der Delphi-PRAXiS, Chemiker.

Du prüfst zwar, ob ein Knoten selektiert ist, arbeitest dann aber mit m_Ebene3 - welcher Knoten das auch immer sein mag. In welcher Beziehung stehen die Knoten der TreeView denn zu den Datensätzen? Verschiebt die Knotenauswahl den Datensatzzeiger? Normalerweise besorgt sich die TreeView die Nummer des benötigten Bildes über das Ereignis OnGetSelectedIndex(), du aber scheinst zu versuchen den Index im event handler OnClick() der DBCheckBox zu setzen.

Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: TreeView Bitmaps zur Laufzeit ändern

  Alt 16. Mai 2006, 22:06
[list][*]Hallo marabu,


Die Datensätze sind einfach als Text übergeben worden und sind nicht direkt mit der Datenbank
verbunden.

TreeView - Aufbau:

[center]Machinen (m_Ebene1)
|
|-----Tank1 (m_Ebene2)
| |
| |------ Temperatur vom Tank 1 (m_Ebene3)
|
|-----Tank2 (m_Ebene2)
|
|------ Temperatur vom Tank 2 (m_Ebene3)
|
|------ Druck vom Tank 2 (m_Ebene3)

usw.

vor den Knoten der m_Ebene3 sind Bitmaps und diese will ich verändern:
z.B.: Temperatur von Tank 1 ist ausgewählt, anschliessend gehe ich auf die DBCheckBox und ändere deren
Zustand. Anschliessend soll sich die Bitmap vom Eintrag Temperatur von Tank 1 ändern.

Um den Knoten zu löschen, gehe ich so vor, dass funktioniert auch.

if TreeView1.Selected <> nil then
begin
TreeView1.Items.Delete(TreeView1.Selected);
MStellenTable.Delete;
end;

Der markierte Knoten wird gelöscht.

===> Auf die gleiche Weise würde ich gerne die Bitmap ändern, nur habe ich keine Idee.
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
marabu

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

Re: TreeView Bitmaps zur Laufzeit ändern

  Alt 16. Mai 2006, 22:50
Wenn du weißt, dass du beim Ändern der DBCheckBox das Image des gerade markierten Knoten ändern möchtest, dann versuche es mal mit der Eigenschaft ImageIndex von TreeView.Selected - über die Eigenschaft SelectedIndex steuerst du ja nur die visuelle Hervorhebung beim Wechsel des markierten Knoten.

Gute Nacht

marabu
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: TreeView Bitmaps zur Laufzeit ändern

  Alt 18. Mai 2006, 09:46
Hallo marabu,

danke für die Antwort. Ich habe beide Befehl ausprobiert habe aber das Problem das unabhängig wie die DBCheckBox geändert wird sich die Bitmap ändert.

Ich habe einfach das Problem das sich das Programm nicht merkt welcher Knoten markiert ist, wenn ich auf die DBCheckBox clicke um den Zustand zu ändern.


Ich habe es jetzt erstmal so gelöst das ich den kompletten Baum lösche und anschliessend mit den geänderten Daten wieder neu Aufbaue. Das sieht nur doof aus.

Ich bin nur leider jetzt 14 Tage nicht online, wenn Du eine Antwort hast kann ich erst in 14 Tage wieder antworten.

Bis bald

Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
marabu

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

Re: TreeView Bitmaps zur Laufzeit ändern

  Alt 18. Mai 2006, 10:42
Das liest sich alles sehr abenteuerlich. Melde dich einfach nochmal, wenn du wieder online bist.

Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:10 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