Il existe sur internet plusieurs exemples, très intéressants, de code LabVIEW pour avoir des fenêtres qui ne sont pas rectangulaires.
Tous les exemples utilisent le même code, qui permet via la dll Windows "user32.dll" fonction SetLayerdWindowAttributs, de :
> rendre transparent l'ensemble des pixels d'une couleur spécifiée de la face-avant ;
> gérer l'opacité de la fenêtre.
http://msdn.microsoft.com/en-us/library/windows/desktop/ms633540(v=vs.85).aspx
L'intérêt est :
Je vais montrer un exemple avec ma photo suivante
Certains exemples sont incomplets, car ils ne fonctionnent qu’avec des « jeux » de couleurs particuliers.
Le problème provient de la différence de gestion des couleurs entre LabVIEW et Microsoft : RGB VS BGR >>> COLORREF value has the following hexadecimal form : 0x bbggrr
Par exemple http://forums.ni.com/t5/LabVIEW/Darren-s-Weekly-Nugget-04-17-2006/m-p/352929?view=by_date_ascending#...
ou le très bon post de DaHelmut
D’autres exemples sont très complets, et fonctionnent avec toutes les couleurs, car ils convertissent la couleur RGB de LabVIEW en BGR pour Windows
Par exemple une référence : https://decibel.ni.com/content/blogs/labviewramblings/2013/11/30/groovy-splash-screen
Je ne sais pas qui est la première personne à avoir réalisé le code. J'ai réalisé un vi modifié, avec la documentation du code et en intégrant directement le Get Window Handle.vi
Pour utiliser le code il faut ouvrir la référence du vi via puis
par exemple
La fenêtre est alors transparente mais ... avec une bordure!
La transparence ne va pas suffir. En effet la fenêtre a encore la bordure. Il faut modifier les options de la fenêtre pour avoir
devient
La fenêtre n'est plus rectangulaire! Mais n'est plus une fenêtre, car comment la fermer?
IV] Fermer la fenêtre sans bordure
il faut ajouter un bouton "croix" pour fermer...
Toutes les formes sont possibles.
Même un "Petit poisson" voir le code en PJ
Luc Desruelle | |
Voir mon profil
CLA : Certified LabVIEW Architect / Certifié Architecte LabVIEW
CLD : Certified LabVIEW Developer / Certifié Développeur LabVIEW
Contact , About me. , Google+. , Twitter.
Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion
MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group
Pour ajouter un commentaire ici, vous devez être inscrit. Si vous êtes déjà inscrit, connectez-vous. Dans le cas contraire, inscrivez-vous puis connectez-vous.