Einzelnen Beitrag anzeigen

oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Klick außerhalb der Komponente erkennen

  Alt 13. Mai 2009, 12:10
Ähhm ja, man kann das WndProc des Parent abfangen, auswerten und weiterleiten. Hab jetzt vergessen, wie das heißt. Das ist aber nicht das einzige Problem.

Angenommen, du hast dein Label auf einem Panel. Eine andere Komponente auf einem anderen Panel, dann funzt OnExit glaub ich nicht wenn du die Kompo auf dem anderen Panel anklickst (so war das glaub ich). Das Problem dabei ist, dass zwar das andere Control den Focus bekommt, dein den aber nicht verliert.

Ich glaub, das war so:
- alle Control im gleichen Parent wechsel untereinander den Focus bei Click auf das Control,
- Click auf den Parent oder ein anderes Control außerhalb des Parent führt nicht zur Deaktivierung.

So war das jedenfalls bei meinen CustomControls. Ich konnte das Problem (in einem anderen Anwendungsfall) damit lösen, dass alle meine Controls den gleichen Vorfahren hatten und sich über die Anwendung Botschaften zur Aktivierung/Deaktivierung austauschten. Das geht so bei dir aber nicht.

Tja, da braucht man Ideen

Vielleicht kannst du das irgentwo zentral in der Anwendung lösen. Etwa in der Art, alle Botschaften aller Controls zentral überwachen, kommt eins von einem deiner Label für Aktivierung dieses merken, kommt danach eine für die Aktivierung eines andern Controls dein gemerktes Label zwangsweise deaktivieren (Botschaft für Exit senden).

Ob das ein gangbarer Weg ist hab ich aber noch nicht getestet und wenn man das innerhalb der Componente lösen könnte, sollte sicher der geschmeidigere Weg sein.

Gruß oki
42
  Mit Zitat antworten Zitat