Bonjour à tous,
W7.
Delphi X2.
Pour adapter une application à un système tactile, j'ai modifié l'interface graphique en remplaçant un TMenu standard par :
Un Panel qui possède <= un ScrollBox1 <= autant de boutons dynamiques que d'items du menu.
Cela ressemble au peu aux briques de W10.
Donc un (gros) bouton existe pour afficher ce panel, les boutons qu'il contient et ce panel redevient invisible quand on clique sur un bouton ou ailleurs dans la fiche.
Comme cette fiche possède beaucoup de composants et que je ne voulais pas passer par l'événement "OnClick" de la souris de chaque composant, je suis passé par un application.message qui détecte un appuie sur un bouton de la souris (voir ci-dessous)
Mais voici mon problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Procedure TFThemis.AppMessage(Var Msg: TMsg; Var Handled: Boolean); Begin If (GetAsyncKeyState(1) And 32768 <> 0) then begin panelBrique.Visible:=false; panelAdmin.Visible:=false; end; end;
Tous cela convenait très bien tant que le nombre de bouton n'activait pas les ScrollBars du schrollbox, car quand c'est le cas et quand je souhaite déplacer le ScrollBar pour accèder aux boutons non visible, ben le panel redevient invisible a cause de la procédure ci dessus.
Donc je souhaiterai savoir si il est possible, et comment faire pour garder le fonctionnement actuel (le détection d'un click souris par un application.message) mais en sachant qui est dessous pour en déterminer le comportement. Sans passer par les événements de tous les composants.
Merci pour vos idées.
Partager