AGB  ·  Datenschutz  ·  Impressum  







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

Exit passiert zu spät

Ein Thema von QuickAndDirty · begonnen am 4. Jan 2005 · letzter Beitrag vom 4. Jan 2005
Antwort Antwort
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.930 Beiträge
 
Delphi 12 Athens
 
#1

Exit passiert zu spät

  Alt 4. Jan 2005, 13:07
Hallo ,
ich habe ein leider sehr blödes Problem
Wenn ich ein Edit feld Fokussiere und von dort
diereckt auf ein Icon eines Treeview Click, passiert
das Change ereignis des TreeView Zu erst und dann erst das
exit ereigniss des Textfeldes.

Konnte es erst nicht glauben und hab ne Test anwendung
geschrieben. Ist leider Definitiv so.



Wie kann ich dieses Verhalten Ändern?

(Also Erst Exit des TEdit dann Change
beim TTreeview)



So Sieht der Quellcode der test Anwendung aus.
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    TreeView1: TTreeView;
    procedure Edit1Exit(Sender: TObject);
    procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Edit1Exit(Sender: TObject);
begin
  Showmessage('Exit');
end;

procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
  Showmessage('Change');
end;

procedure TForm1.FormCreate(Sender: TObject);
var NewNode, oldNode:TTreeNode;
begin
  NewNode := TTreeNode.Create(Treeview1.items);
  NewNode := TreeView1.Items.Add(NewNode,'Ast1' );
  OldNode := NewNode ;
  NewNode := TTreeNode.Create(Treeview1.items);
  TreeView1.Items.AddChild(OldNode,'Abteilung1');
  TreeView1.Items.AddChild(oldNode,'Abteilung2');
  TreeView1.Items.AddChild(oldNode,'Abteilung3');
  TreeView1.Items.Add(TTreeNode.Create(Treeview1.items),'Ast2' );
  TreeView1.Items.Add(TTreeNode.Create(Treeview1.items),'Ast3' );
end;

end.
[edit=Christian Seehase]Delphi-Tags korrigiert Mfg, Christian Seehase[/edit]
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.930 Beiträge
 
Delphi 12 Athens
 
#2

Re: Exit passiert zu spät

  Alt 4. Jan 2005, 14:36
Hab jetzt erstmal einen Workaround.
Ich Überschreibe die Change Methode des TTreeView
und Poste von dort eine eigene Message an den TTreeView.
In der Empfangenden Methode Führe ich dann Inherited Change aus,
das Node Übergebe ich auch mit der Message.

Wenn jemand eine Schönere Lösung hatt bitte, bitte, bitte...teile es mir mit.
Andreas
Monads? Wtf are Monads?
  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 17:12 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