FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» demande explication KGF pour imprimer en mm
transparent - forms transparent ou couleur invisible Emptypar lepetitmarocain Aujourd'hui à 12:55

» Petit passage furtif
transparent - forms transparent ou couleur invisible Emptypar Froggy One Hier à 14:26

» SPIN et aide langage (résolu)
transparent - forms transparent ou couleur invisible Emptypar leclode Sam 23 Mar 2024 - 15:20

» Aide-mémoire des mots-clés Panoramic
transparent - forms transparent ou couleur invisible Emptypar papydall Mer 20 Mar 2024 - 21:23

» Je ne comprend pas pourquoi la largeur de la scene 3d change
transparent - forms transparent ou couleur invisible Emptypar Marc Mar 12 Mar 2024 - 20:06

» Comment télécharger panoramic?
transparent - forms transparent ou couleur invisible Emptypar lepetitmarocain Sam 9 Mar 2024 - 13:31

» @lepetitmarocain <==> KGFGrid
transparent - forms transparent ou couleur invisible Emptypar Klaus Dim 3 Mar 2024 - 9:59

» Tangram-Toukaré
transparent - forms transparent ou couleur invisible Emptypar jjn4 Mer 28 Fév 2024 - 18:12

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
transparent - forms transparent ou couleur invisible Emptypar jjn4 Mer 28 Fév 2024 - 18:09

» KGF_dll - nouvelles versions
transparent - forms transparent ou couleur invisible Emptypar Klaus Mer 28 Fév 2024 - 17:01

» Mes souhaits d'amélioration de Panoramic.
transparent - forms transparent ou couleur invisible Emptypar Pedro Lun 26 Fév 2024 - 18:12

» Testez-votre-QI
transparent - forms transparent ou couleur invisible Emptypar jjn4 Dim 25 Fév 2024 - 17:12

» Utilisation d'Élip
transparent - forms transparent ou couleur invisible Emptypar jjn4 Sam 24 Fév 2024 - 18:33

» Récapitulatif ludothèque panoramic jjn4
transparent - forms transparent ou couleur invisible Emptypar jjn4 Sam 24 Fév 2024 - 18:11

» Générateur de mots de passe
transparent - forms transparent ou couleur invisible Emptypar mindstorm Mar 20 Fév 2024 - 20:09

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mars 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
CalendrierCalendrier
Le Deal du moment :
Fnac : 2 Funko Pop achetées : le 3ème ...
Voir le deal

 

 forms transparent ou couleur invisible

Aller en bas 
+2
JL35
silverman
6 participants
AuteurMessage
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

transparent - forms transparent ou couleur invisible Empty
MessageSujet: forms transparent ou couleur invisible   transparent - forms transparent ou couleur invisible EmptySam 10 Oct 2015 - 20:32

Bonjour les panoramiciens,

en jouant avec les dlls de windows, je suis tombé sur cette possibilité, ça pourra peut être servir a quelqu'un.
Code:

'
' test : rendre un 'form' transparent ou une couleur invisible
'

dim a$,null%,tmp%,gwl%,transparent%,colorkey%,colorkey_ou_alpha%
dim r,v,b,a
label build

left 0,350:top 0,100

' on peut imaginer rendre un objet transparent en le collant temporairement
' dans un form transparent, mais il faut le laisser en avant-plan
' voir ici:
' http://panoramic.1fr1.net/t4455-probleme-du-programme-en-cours-devant-derriere-autre-progr
form 1 : border_small 1
grid 2 : parent 2,1
width 1,330 : height 1,146
top 1,300 : left 1,500


dll_on "user32"
   ' transparence
   tmp%=handle(1)
   transparent%=255*0.7  :' 70% d'opacité
   colorkey_ou_alpha%=2  :' 1 ou 2; la transparence agit soit sur une couleur particulière(1), soit sur la fenêtre(2)
   gosub build

   ' couleur invisible, ici du mauve
   r=128 : v=0 : b=128
   tmp%=handle(0)
   colorkey%=r+(256*v)+(65536*b)   :' couleur transparente si colorkey_ou_alpha%=1
   colorkey_ou_alpha%=1  :' 1 ou 2; la transparence agit soit sur une couleur particulière(1), soit sur la fenêtre(2)
   gosub build
dll_off

scene2d 10 : delete 10  :' necessaire pour voir s'afficher les rectangles; initialisation ??

' un rectangle mauve
2d_pen_color r,v,b
2d_fill_color r,v,b
2d_rectangle 10,20,210,220

' un rectangle un peu plus mauve
r=r+1 : if r>255 then r=255
v=v+1 : if v>255 then v=255
b=b+1 : if b>255 then b=255
2d_pen_color r,v,b
2d_fill_color r,v,b
2d_rectangle 210,220,410,420

end
build:
' https://msdn.microsoft.com/en-us/library/windows/desktop/ms633584%28v=vs.85%29.aspx
 gwl%=bin_or(dll_call2("GetWindowLongW",tmp%,0-20),524288)
' https://msdn.microsoft.com/en-us/library/windows/desktop/ms633591%28v=vs.85%29.aspx
 null%=dll_call3("SetWindowLongW",tmp%,0-20,gwl%)
' https://msdn.microsoft.com/en-us/library/windows/desktop/ms633540%28v=vs.85%29.aspx
 null%=dll_call4("SetLayeredWindowAttributes",tmp%,colorkey%,transparent%,colorkey_ou_alpha%)
return

PS: Il me semble que Klaus a intégré quelque chose de similaire dans KGF, mais je n'ai pas testé


Dernière édition par silverman le Dim 11 Oct 2015 - 9:17, édité 1 fois
Revenir en haut Aller en bas
JL35




Nombre de messages : 7089
Localisation : 77
Date d'inscription : 29/11/2007

transparent - forms transparent ou couleur invisible Empty
MessageSujet: Re: forms transparent ou couleur invisible   transparent - forms transparent ou couleur invisible EmptySam 10 Oct 2015 - 21:16

Merci silverman  !
Très intéressant tout ça, ça ouvre des horizons...

Je pense par exemple à une fenêtre semi-transparente déplaçable sur l'écran et redimensionnable, pour faire une capture de la zone en cliquant dessus. Entre autres.
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

transparent - forms transparent ou couleur invisible Empty
MessageSujet: Re: forms transparent ou couleur invisible   transparent - forms transparent ou couleur invisible EmptySam 10 Oct 2015 - 21:25

Bravo pour ta découverte Silverman, c'est très spectaculaire.

Décidément cette DLL "user32" est à étudier de très près.

A+
Revenir en haut Aller en bas
JL35




Nombre de messages : 7089
Localisation : 77
Date d'inscription : 29/11/2007

transparent - forms transparent ou couleur invisible Empty
MessageSujet: Re: forms transparent ou couleur invisible   transparent - forms transparent ou couleur invisible EmptySam 10 Oct 2015 - 21:45

Effectivement, très très intéressant !
Pour la capture d'écran dont je parlais plus haut, un exemple vite fait: j'ai très largement repris le code de silverman (l'essentiel) :
- Positionner la fenêtre et la redimensionner à sa guise, puis clic à l'intérieur: la capture est dans le presse-papier
Code:
' test : capture d'écran, résultat dans le clipboard, transparence d'après silverman
DIM r,v,b,gwl%,null%,tmp%,transparent%,colorkey%,colorkey_ou_alpha%
LABEL Capture,Quit

HIDE 0
FORM 1: BORDER_SMALL 1: WIDTH 1,300 : HEIGHT 1,150: TOP 1,100: LEFT 1,100
ON_CLOSE 1,Quit: ON_CLICK 1,Capture
FORM 2: TOP 2,0: LEFT 2,0: WIDTH 2,SCREEN_X: HEIGHT 2,SCREEN_Y
  BORDER_HIDE 2: HIDE 2: 2D_TARGET_IS 2: WAIT 100: ' Tout l'écran
IMAGE 3

DLL_ON "user32"
   ' *** transparence
   tmp%=HANDLE(1)
   transparent%=255*0.7  :' 70% d'opacité
   colorkey_ou_alpha%=2  :' 1 ou 2; la transparence agit soit sur une couleur particulière(1), soit sur la fenêtre(2)
   gwl%=BIN_OR(DLL_CALL2("GetWindowLongW",tmp%,0-20),524288)
   null%=DLL_CALL3("SetWindowLongW",tmp%,0-20,gwl%)
   null%=DLL_CALL4("SetLayeredWindowAttributes",tmp%,colorkey%,transparent%,colorkey_ou_alpha%)
DLL_OFF
END
' =====
Capture:
2D_IMAGE_COPY 3,LEFT(1),TOP(1),LEFT(1)+WIDTH(1),TOP(1)+HEIGHT(1)
CLIPBOARD_COPY 3
Quit:
TERMINATE

J'aurais voulu faire un Border-Hide sur la fenêtre, mais là on ne peut plus la déplacer ni la redimensionner. Donc ici c'est l'intérieur du Form qui est capturé.
Rectificatif: c'est l'intégralité du Form qui est capturé, zone des bordures comprise.
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

transparent - forms transparent ou couleur invisible Empty
MessageSujet: Re: forms transparent ou couleur invisible   transparent - forms transparent ou couleur invisible EmptySam 10 Oct 2015 - 22:20

oui, c'est un joli palliatif à l'usage de la DLL de Klaus et cela illustre encore ce que chacun peut apporter à ce forum via sa diversité.
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

transparent - forms transparent ou couleur invisible Empty
MessageSujet: Re: forms transparent ou couleur invisible   transparent - forms transparent ou couleur invisible EmptySam 10 Oct 2015 - 22:24

Très intéressant tout çà !

Je vois pas encore d'usage mais il doit bien y en avoir...
Je vais garder cette astuce sous le coude. Wink

Merci Silverman !
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

transparent - forms transparent ou couleur invisible Empty
MessageSujet: Re: forms transparent ou couleur invisible   transparent - forms transparent ou couleur invisible EmptySam 10 Oct 2015 - 22:25

Effectivement, Silverman, j'ai fait quelque chose de ce genre, dans KGF.dll:
Code:
res% = DLL_call2("WindowTranparency",hnd%,trans%)
Tu passes le handle de la form 0 de ton programme (ou le handle de la fenêtre principale de n'importe quel programme en cours d'exécution...), et tu règles la transparence entre 0 (opaque) et 255 (totalement transparent). Mais, comme je l'ai déjà expliqué en détail dans un autre fil de discussion, ceci ne marche que sur la fenêtre principale d'une application (celle quii n'a pas de "propriétaire"). Ceci est une limitation Windows, pas Panoramic.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

transparent - forms transparent ou couleur invisible Empty
MessageSujet: Re: forms transparent ou couleur invisible   transparent - forms transparent ou couleur invisible EmptyDim 11 Oct 2015 - 9:40

@jl35
Bien vu le coup de la capture, je n'avais pas pensé à ça

@minibug
Par exemple, tu peux faire un écran d'acceuil original en collant une image dans un picture et en éliminant une couleur, ou bien si tu es un peu farceur, tu captures l'image de ton bureau puis tu animes un sprite 'pacman' qui mange tes (fausses) icones et tu fait croire à celui/celle qui est devant le clavier qu'il vient de véroler ton ordinateur Laughing

@klaus
Citation :
ceci ne marche que sur la fenêtre principale d'une application (celle quii n'a pas de "propriétaire"). Ceci est une limitation Windows, pas Panoramic
Qu'est ce que tu entends par 'celle qui n'a pas de "propriétaire"'? J'ai testé sur 2 forms et les 2 répondent à la transparence.(J'ai consulté l'autre fil de discussion, mais je n'ai pas plus compris)
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

transparent - forms transparent ou couleur invisible Empty
MessageSujet: Re: forms transparent ou couleur invisible   transparent - forms transparent ou couleur invisible EmptyDim 11 Oct 2015 - 10:08

Mais tu as raison, Silverman ! Je suis sous W10 et ça marche, même sur une form autre que la form 0 ! Faudra que le mette la doc à jour, pour cette fonction. La restricion que le citais, elle datait encore de XP...

Ca ouvre de nouvelles possibilités. On peut ainsi créer une form n et la rendre translucide avec trans%=127. Ensuite, avec les fonctions de gestion des fenêtres de KGF.dll, on déclare une région en forme d'ellipse qu'on applique à cete fenêtre, et on la superpose alors à un objet PICTURE contenant une photo avec des personnages, dont on peut ainsi flouter le visage. Juste un exemple...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

transparent - forms transparent ou couleur invisible Empty
MessageSujet: Re: forms transparent ou couleur invisible   transparent - forms transparent ou couleur invisible EmptyDim 11 Oct 2015 - 10:50

Klaus a écrit:
La restricion que je citais, elle datait encore de XP
Mais je suis sous XP, et j'ai pu rendre 2 forms transparent sans pb. Je n'ai pas essayer avec plus, mais comme il s'agit d'une histoire d'attribut, ça ne devrait pas poser de pb. Je comprend mieux maintenant pourquoi je ne comprenais pas tes explications dans l'ancien fil de discussion.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

transparent - forms transparent ou couleur invisible Empty
MessageSujet: Re: forms transparent ou couleur invisible   transparent - forms transparent ou couleur invisible EmptyDim 11 Oct 2015 - 11:01

Ok. Je vais donc réviser mes classiques et améliorer la compréhension de mes propres fonctions...

En fait, j'ai compris. L'impossibilité ne s'applique pas aux objets FORM, mais aux autres objets Panoramic, comme un bouton ou un mémo. LE seul moyen de rendre un PICTURE translucide, c'est de le placer dans une form séparée sans bord, et de déclarer cette form translucide. Tous les objets de cette form deviennent du même coup translucide, et donc le picture, que l'on peut ainsi superposer à d'autres éléments d'une autre form. J'aurais dû comprendre plus tôt. Merci, Silverman, d'avoir approfondi la chose - cela m'a fait apprendre quelque chose !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





transparent - forms transparent ou couleur invisible Empty
MessageSujet: Re: forms transparent ou couleur invisible   transparent - forms transparent ou couleur invisible Empty

Revenir en haut Aller en bas
 
forms transparent ou couleur invisible
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Icônes à fond transparent dans Panoramic
» Les forms intenables
» Des vrais "faux forms"
» Barre de titre sans les 3 boutons
» Resultat de couleur

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: