AGB  ·  Datenschutz  ·  Impressum  







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

TVirtualTree, Knoten neuzeichnen

Ein Thema von hoika · begonnen am 2. Jan 2009 · letzter Beitrag vom 4. Jan 2009
Antwort Antwort
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#1

TVirtualTree, Knoten neuzeichnen

  Alt 2. Jan 2009, 12:04
Hallo #,

folgender Code (vereinfacht)

Delphi-Quellcode:
procedure TForm.LV_TPDataFocusChanging(Sender: TBaseVirtualTree;
  OldNode, NewNode: PVirtualNode; OldColumn, NewColumn: TColumnIndex;
  var Allowed: Boolean);
begin
  if OldNode=NIL then Exit;

  if DataSaved then
  begin
   // to "reload view"
    Sender.InvalidateNode(OldNode);
   // Sender.Invalidate. klappt auch nicht
  end
end;
Im FocusChanging prüfe, ob sich Daten geändert haben (es gibt noch ein paar Edits zum Ändern).
Ist das der Fall wird in die DB gespeichert und jetzt soll der alte Knoten aktualisiert werden.

Klappt aber nicht.
Es passiert einfahc nix (keine Ändeurng).

Notlösung.
Neuladen des kompletten Views im OnFocusChanged.

Was mache ich denn falsch ?


Danke


Heiko
Heiko
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#2

Re: TVirtualTree, Knoten neuzeichnen

  Alt 3. Jan 2009, 00:40
lässt du den VST als ganzen Zeit um neuzuzeichnen?
Wird die Nachrichtenwarteschlange noch abgearbeitet?
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Prototypjack

Registriert seit: 2. Feb 2003
611 Beiträge
 
Delphi 2009 Professional
 
#3

Re: TVirtualTree, Knoten neuzeichnen

  Alt 3. Jan 2009, 11:07
Moin,

Was ist, wenn du die direkte Anweisung (VirtualStringTree.RepaintNode(ANode);) verwendest?

Grüße,
Max

Edit: Smileys deaktiviert.
Max
„If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: TVirtualTree, Knoten neuzeichnen

  Alt 3. Jan 2009, 17:34
Hallo,

Wird die Nachrichtenwarteschlange noch abgearbeitet?

ich bin ja im Changing drin.
Auch in Application.ProcessMessages bringt nichts.

RepaintNode bringt auch nichts.


Ich mach mal ein Bsp.-Programm.
Wird aber erst Mitte nächster Woche was.



Heiko
Heiko
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#5

Re: TVirtualTree, Knoten neuzeichnen

  Alt 4. Jan 2009, 00:54
im Zweifelsfall setze den ganzen VST auf invalidate.

vst.invalidate;
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#6

TVirtualTree, Knoten neuzeichnen gelöst

  Alt 4. Jan 2009, 11:04
Hallo,

habe den Bug gefunden,
er saß vor dem Monitor ...

Ursache:
Beim Schreiben habe ich die Formular-Daten in eine eigenes (neues) Objekt geschrieben.
Das Original-Objekt (Data^-property) wurde nicht angerührt,
d.h. der alte Wert wurde bei jedem Neuzeichnen-Versuch wieder angezeigt.


Danke und schönen Sonntag noch.


Heiko
Heiko
  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 06:21 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