Autor Beitrag
WeissNix
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Fr 07.02.03 09:23 
:?: Hallo,

ich habe eine Komponente gebastelt. Wenn ich diese nun auf ein Formular lege und das ganze dann ausführe, möchte ich eine Message erhalten sobald ich irgendwo anders hinklicke als auf die Komponente. Wie mach ich das??

Das ganze ist für eine CLX-Anwendung/ Delphi 6

Vielen Dank schon mal im Voraus,

Gruß
WeissNix
maxk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1696
Erhaltene Danke: 1

Win XP, Debian Lenny
Delphi 6 Personal
BeitragVerfasst: Fr 07.02.03 10:02 
Es gibt ein Ereignis OnExit, das aufgerufen wird, wenn die Komponente den Fokus verliert. Ich glaube es gibt da auch ne WM. Schau erst mal ob du OnExit hast. Ich guck mal, ob ich irgendwo eine Auflistung der WMs kriege.

maxk

_________________
Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.
WeissNix Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Fr 07.02.03 10:15 
Hallo,

erst mal Danke für deine Antwort.

Ein OnExit habe ich.
midiman
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Do 13.02.03 20:16 
Titel: EventFilter() sollte funktionieren,,,
Hallo... hier ein Beispiel mit einer geänderten TEdit box. Die 2 events werden nun vom EventFilter abgefangen. :D

ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
unit Unit1;

interface

uses
  SysUtils, Types, Classes, QGraphics, QControls, QForms, QDialogs,
  QStdCtrls, QT;

type

  TEdit = class( QStdCtrls.TEdit )

  protected
    function EventFilter(Sender: QObjectH; Event: QEventH): Boolean; override;
  end;

  TForm1 = class(TForm)
    Edit1: TEdit;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.xfm}

{ TEdit }

function TEdit.EventFilter(Sender: QObjectH; Event: QEventH): Boolean;
begin
  Result := true;
  case QEvent_Type( Event ) of
    QEventType_Leave: Color := clRed;
    QEventType_Enter: Color := clBlue;
  else
    Result := inherited EventFilter( Sender, Event );
  end;
end;


mm[/code]