Thema: Delphi Exit passiert zu spät

Einzelnen Beitrag anzeigen

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