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
» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Nouvelle DLL SetWindowButtons Emptypar Klaus Aujourd'hui à 12:13

» PANORAMIC V 1
Nouvelle DLL SetWindowButtons Emptypar papydall Aujourd'hui à 3:22

» select intégrés [résolu]
Nouvelle DLL SetWindowButtons Emptypar jjn4 Hier à 17:00

» number_mouse_up
Nouvelle DLL SetWindowButtons Emptypar jjn4 Hier à 11:59

» Aide de PANORAMIC
Nouvelle DLL SetWindowButtons Emptypar jjn4 Hier à 11:16

» trop de fichiers en cours
Nouvelle DLL SetWindowButtons Emptypar lepetitmarocain Hier à 10:43

» Je teste PANORAMIC V 1 beta 1
Nouvelle DLL SetWindowButtons Emptypar papydall Hier à 4:17

» bouton dans autre form que 0
Nouvelle DLL SetWindowButtons Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Nouvelle DLL SetWindowButtons Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
Nouvelle DLL SetWindowButtons Emptypar Klaus Lun 6 Mai 2024 - 10:23

» @Jack
Nouvelle DLL SetWindowButtons Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
Nouvelle DLL SetWindowButtons Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Nouvelle DLL SetWindowButtons Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
Nouvelle DLL SetWindowButtons Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
Nouvelle DLL SetWindowButtons Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment :
Cdiscount : -30€ dès 300€ ...
Voir le deal

 

 Nouvelle DLL SetWindowButtons

Aller en bas 
2 participants
AuteurMessage
Klaus

Klaus


Nombre de messages : 12295
Age : 74
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 : 12295
Age : 74
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 : 12295
Age : 74
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 : 12295
Age : 74
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 : 8610
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 : 12295
Age : 74
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 : 8610
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
-
» Nouvelle DLL Pilote.dll
» Nouvelle version 0.34
» Nouvelle version 0.35
» Nouvelle commande.
» Nouvelle version 0.36

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: