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
» Logiciel de planétarium.
Nouvelle DLL SetWindowButtons Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Nouvelle DLL SetWindowButtons Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Nouvelle DLL SetWindowButtons Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Nouvelle DLL SetWindowButtons Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Nouvelle DLL SetWindowButtons Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Nouvelle DLL SetWindowButtons Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Nouvelle DLL SetWindowButtons Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Nouvelle DLL SetWindowButtons Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Nouvelle DLL SetWindowButtons Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Nouvelle DLL SetWindowButtons Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Nouvelle DLL SetWindowButtons Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Nouvelle DLL SetWindowButtons Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Nouvelle DLL SetWindowButtons Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Nouvelle DLL SetWindowButtons Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Nouvelle DLL SetWindowButtons Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment : -38%
Ecran PC gaming 23,8″ – ACER KG241Y P3bip ...
Voir le deal
99.99 €

 

 Nouvelle DLL SetWindowButtons

Aller en bas 
2 participants
AuteurMessage
Klaus

Klaus


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

Nouvelle DLL SetWindowButtons Empty
MessageSujet: Nouvelle DLL SetWindowButtons   Nouvelle DLL SetWindowButtons EmptyLun 3 Jan 2011 - 19:06

J'ai trouvé le moyen absolu d'empêcher la fermeture d'une fenêtre !


Et j'ai rendu cela acessible via une fonction dans ma nouvelle DLL SetWindowButtons.dll:

res% = dll_call2("SetCloseBox",hnd%,mode%)

hnd% est le handle de la form choisie, et mode% détermine le mode d'action: 0 supprime la croix rouge, 1 restitue la croix rouge !

Dans la même veine, j'ai paramétré les boutons Reduire et Agrandir:

res% = dll_call2("SetMinimizeMaximize",hnd%,mode%)

avec les mêmes paramètres !

Ainsi, une form sur laquelle on appelle les deux routines avec mode%=0, n'a aucun de ces boutons, mais garde son aspect normal par ailleurs.

Et on ne peut plus arrêter cette form par ma croix rouge, et ceci SANS on_close !


Et c'est dans DLLs divers, bien sûr !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

Nouvelle DLL SetWindowButtons Empty
MessageSujet: Re: Nouvelle DLL SetWindowButtons   Nouvelle DLL SetWindowButtons EmptyJeu 6 Jan 2011 - 0:31

Dans la même DLL, j'ai rajouté une fonction qui permet de régler le degré de transparence d'une form !

i% = dll_call2("WindowTransparency",hnd%,trans%)

avec hnd% = handle de la form, et trans% le degré de transparence, entre 0=invisible et 255=opaque

Le programme de démo est "test Boutons de form.bas".
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

Nouvelle DLL SetWindowButtons Empty
MessageSujet: Re: Nouvelle DLL SetWindowButtons   Nouvelle DLL SetWindowButtons EmptySam 8 Jan 2011 - 3:03

Le programme de démonstration pour cette DLL contient maintenant un bouton "Form évanescente". Un click sur ce bouton fait apparaître une form qui s'évanouit progressivement, puis réapparaît tout aussi progressivement, en jouant sur la transparence de cette form.

On peut utiliser cela en créant deux forms sans bord aux mêmes coordonnées d'écran - elles se superposent donc. Si l'on donne la transparence 255 (défaut - opaque) à l'une et 0 (transparent) à l'autre, on n'en voit qu'une. On place maintenant un objet picture sur chacune de ces forms de manière à remplir l'espace visuel total de la form. En chargeant une image *.bmp dans une des forms et une autre dans l'autre, et en effectuant une variation de la transparence de la première form de 255 à 0 et de la seconde de 0 à 255, mais de façon synchrone (+1 et -1 simultanément sur les forms concernées), on obtient un fondu-enchâiné impeccable comme effet de transition entre deux images successives !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

Nouvelle DLL SetWindowButtons Empty
MessageSujet: Re: Nouvelle DLL SetWindowButtons   Nouvelle DLL SetWindowButtons EmptyLun 10 Jan 2011 - 2:27

A titre d'exemple, j'ai fait un petit programme qui montre la transition entre deux photos en fondu-enchaîné. Les noms des deux images sont à mettre en ligne 12 et 15, dans la commande file_load. La vitesse du fondu-enchainé se règle par l'intervalle du timer en ligne 24 (20 milli-secondes actuellement) et par l'incrément de transparence en ligne 30 et 31 (valeur 1 actuellement). Il suffit de mettre deux images personnelles. Bien sûr, adapter comme d'habitude, la taille des forms 10 et 20 et des picture 11 et 21 pour s'adapter à vos images ! Voici le code:
Code:
' FonduEnchaine.bas  -  exemple de transition douce entre 2 images

label tim

dim hnd10%, hnd20%, trans10%, trans20%, delta%, i%

dll_on "SetWindowButtons.dll"

form 10 : border_hide 10 : top 10,40 : left 10,40 : hnd10% = handle(10) : hide 10
width 10,400 : height 10,300
picture 11 : parent 11,10 : top 11,0 : left 11,0 : width 11,390 : height 11,270
stretch_on 11 : file_load 11,"radarfixe.jpg"
form 20 : border_hide 20 : top 20,40 : left 20,40 : hnd20% = handle(20) : hide 20
picture 21 : parent 21,20 : top 21,0 : left 21,0 : width 21,390 : height 21,270
stretch_on 21 : file_load 21,"apprenants.jpg"

trans10% = 255 : trans20% = 0 : delta% = 1

i% = dll_call2("WindowTranparency",hnd10%,trans10%)
i% = dll_call2("WindowTranparency",hnd20%,trans20%)

show 10 : show 20

timer 30 : timer_interval 30,20 : on_timer 30,tim : timer_on 30

end

tim:
timer_off 30 : trans10% = trans10% - delta% : trans20% = trans20% + delta%
if trans20%=0 then delta% = 1
if trans20% = 255 then delta% = -1
i% = dll_call2("WindowTranparency",hnd10%,trans10%)
i% = dll_call2("WindowTranparency",hnd20%,trans20%)
timer_on 30
return
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Nouvelle DLL SetWindowButtons Empty
MessageSujet: ? Possibilité de la dll    Nouvelle DLL SetWindowButtons EmptyMar 11 Jan 2011 - 13:48

Salut Klaus,

Ton dernier ajout pour la transparence s'applique-t-il à tous les objets ?
Dans mon cas je m'intéresse à container.

Et oui... absent du forum depuis un moment, mais toujours actif sur Panoramic et toujours
plein de question ennuyeuses.

Revenir en haut Aller en bas
Klaus

Klaus


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

Nouvelle DLL SetWindowButtons Empty
MessageSujet: Re: Nouvelle DLL SetWindowButtons   Nouvelle DLL SetWindowButtons EmptyMar 11 Jan 2011 - 14:53

Pour les objets autres que les form, c'est un problème beaucoup plus ardu. Et cela vient de Windows. En effet, la transparence par canal alpha n'est possible que pour une fenêtre "top level" qui n'est pas une fenêtre fille. Et les objets tels que bouton, edit etc sont des fenêtres fille pour lesquelles ce n'est pas appliquable techniquement.

Pour le moment, je transforme une form "fille" en forme "indépendante" et lui applique la transparence. Ca marche bien, mais cela implique la form complète. Et c'est ainsi que j'ai réalisé le fondu-enchaîné entre deux images: j'ai créé deux forms sans bord, chacune remplie entièrement par un objet picture. Et ce sont les forms que j'adapte en leur appliquant la transparence, et automatiquement, le picture devient tranparent aussi. Et cela peut être utilisé avec d'autres objets que des picture, comme par exemple des container.

Bon, il y a des inconvénients à cette technique. D'une part, la transparence s'applique à la form entière, en englobant tous les objets qui y sont déposés. C'est pourquoi je ne pense pas que cela soit la solution que tu recherches. Et d'autre part, comme la form est indépendante, elle pourrait être cachée en cliquant sur une autre form (la form 0 par exemple). Il faut la déclarer "topmost" avec la fonction correspondante de KGF.dll. Et même dans ce cas, toujours comme elle est indépendante, elle n'est pas "collée" à la form 0. Si tu déplaces la form 0, la form transparente ne suivra pas, et elle sera donc déplacée relativement par rapport à son origine.

Je suis en train chercher une solution pour simuler la transparence sur d'autres objets que les forms, mais je n'en suis pas encore au bout. J'arrive à rendre un objet transparent, mais je n'arrive pas à le recoller dans la form. Patience...

Une autre piste que je poursuis: pouvoir intercepter l'évènement indiquant qu'une form a été déplacée. Si j'ai cela, je peux décaler une form transparente un un objet transparent de façon synchronisée avec la form qui a bougé. C'est difficile, mais je ne jette pas l'éponge. Cela fait bien un an environ que je cherche la solution pour maîtriser le bouton de fermeture, et j'ai fini par trouver, et maîtriser "Minimiser" et "Maximiser" en même temps, alors...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Nouvelle DLL SetWindowButtons Empty
MessageSujet: snif...   Nouvelle DLL SetWindowButtons EmptyMar 11 Jan 2011 - 15:04

Bon ben tant pis,
mais tant qu'il y a de la vie, il y a de l'espoir
et mes compétences sont largement dépassées en ce qui concerne
la conception d'outils et manipulation de windows lui même.
Comme j'suis un gars patient......

Merci tout de même d'avoir répondu aussi vite.
Revenir en haut Aller en bas
Contenu sponsorisé





Nouvelle DLL SetWindowButtons Empty
MessageSujet: Re: Nouvelle DLL SetWindowButtons   Nouvelle DLL SetWindowButtons Empty

Revenir en haut Aller en bas
 
Nouvelle DLL SetWindowButtons
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» transformer .frm en .bas
» Nouvelle DLL Pilote.dll
» Nouvelle DLL IsRunning.dll
» Lancement officiel de GPP
» Nouvelle version du 12/2

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: Activité des sites créés par les Panoramiciens. :: Le site de Klaus-
Sauter vers: