2009-12-19 3 views
1

J'ai un composant de panneau sur mon application flexible. Ce composant a un événement click qui est déclenché lorsque l'utilisateur fait un clic sur le panneau. Mais je voudrais connaître la zone du panneau où le clic a été fait. En fait, ce que je veux savoir, c'est si un clic a été fait sur la barre de titre du panneau. Comment puis-je faire cela?comment savoir si le clic de souris a été fait sur la barre de titre

Répondre

4

Les MouseEvent stocke l'emplacement de la souris lorsque le clic a été fait dans les localX et localY propriétés. De cette façon, vous pouvez calculer un peu pour savoir, si la souris était au-dessus de la barre de titre ou non.

function panelClick (event:MouseEvent) : void 
{ 
    trace(event.localX + '/' + event.localY); 
} 

La plupart des composants standards offrent également un accès à certains de leurs éléments enfants. Le composant Panel a par exemple une propriété Panel.titleBar accessible lors de la dérivation d'une nouvelle classe de composants. Ainsi, vous pourriez par exemple créer une nouvelle classe qui offre un événement spécial pour les clics sur la barre de titre, en permettant d'ajouter un écouteur d'événement pour la barre de titre de l'extérieur.

+0

Merci beaucoup! Enfin, j'ai créé un composant personnalisé qui étend la classe Panel et ajouté une fonction qui retourne la propriété titleBar pour obtenir sa largeur et sa hauteur. – Kezern

+0

Je ne pense pas que ce soit la meilleure solution, mais cela fonctionne. Merci! – csomakk

Questions connexes