FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Tout est tranquille
par Jean Claude Hier à 21:41

» Texte en gif animé
par JL35 Hier à 13:29

» BasicEditor
par Yannick Mer 20 Sep 2017 - 17:17

» Simuler l’appui d'une touche ou combinaison de touches.
par pascal10000 Lun 18 Sep 2017 - 19:30

» Utilisation de HVIEWER pour afficher des images
par papydall Lun 18 Sep 2017 - 17:43

» Panoramic et les gifs animés.
par papydall Lun 18 Sep 2017 - 16:32

» recover source
par pascal10000 Dim 17 Sep 2017 - 14:21

» Recent dans vos menu
par Jean Claude Sam 16 Sep 2017 - 11:41

» Comment centrer un texte 3D.
par pascal10000 Ven 15 Sep 2017 - 20:20

» Carte interface 16 entrées et 16 sorties
par Jicehel Ven 15 Sep 2017 - 16:30

» Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT
par pascal10000 Ven 15 Sep 2017 - 16:20

» Compilateur FBPano
par jean_debord Ven 15 Sep 2017 - 9:59

» 1 (en analyse): 3D_TARGET_IS ne fonctionne pas sur 3D_TEXT
par Jack Jeu 14 Sep 2017 - 19:52

» Problème avec la 3D.
par Jack Jeu 14 Sep 2017 - 18:06

» Test de la 3D.
par mindstorm Mer 13 Sep 2017 - 19:45

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Septembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier

Partagez | 
 

 Nouvelle fonction pour "percer un trou" dans une form !

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Klaus

avatar

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

MessageSujet: Nouvelle fonction pour "percer un trou" dans une form !   Lun 21 Juin 2010 - 22:19

J'ai ajouté une nouvelle fonction dans KGF.dll qui permet de percer un trou en forme d'ellipse dans n'importe quelle form ! A suivre: percer des trous rectangulaires et de formes composées de rectangles et d'ellipses, et la creation de forms aux formes composées de rectangles et d'ellipses, et même de parties NON contigües !

Voici l'appel:
Code:

i% = dll_call6("WindowEllipticHole",handle(nform),m,x1,y1,x2,y2)
Tous les paramètres doivent être donnés en entiers, soit en constante numérique, soit en variable avec le %.
nform est le numéro d'objet de la form concernée
m est le mode opératoire: 1=percer 0=boucher le trou
x1,y1 est le coin en haut à gauche du rectangle contenant
x2 est la largeur de l'ellipse
y2 est la hauteur de l'ellipse.

Voici un programme de démo:
Code:
label trouer, boucher
dim i%

memo 1
top 1,40
left 1,10
width 1,400
height 1,300
item_add 1,"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
item_add 1,"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
item_add 1,"ccccccccccccccccccccc"
item_add 1,"dddddddddddddddddddddddddddddddddddddddddddddddddd"
item_add 1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
item_add 1,"fffffffffffffffffffffffffffffffffffffffffffff"
item_add 1,"gggggggggggggggggggggggggggggggggggggg"

button 2
top 2,10
left 2,10
caption 2,"Trouer"
on_click 2,trouer

button 3
top 3,10
left 3,120
caption 3,"Boucher"
on_click 3,boucher

dll_on "KGF.dll"
end

trouer:
i% = dll_call6("WindowEllipticHole",handle(0),1,50,60,300,200)
return

boucher:
i% = dll_call6("WindowEllipticHole",handle(0),0,30,60,300,200)
return

end

Amusez-vous bien !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



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

MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Lun 21 Juin 2010 - 23:22

Ça alors c'est spectaculaire !
Encore une fois, un grand bravo Klaus !

Il va falloir écrire un bouquin rien que pour tes dll et leur mode d'emploi/exemples.
N'empêche que ce serait bien si tu joignais chaque fois au zip de la dll sa documentation à jour par exemple au format rtf (à décompacter au même endroit), ce serait bien pratique.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Lun 21 Juin 2010 - 23:31

Je viens de voir ce post, et je grandi avec tes idées.
Bravo
Revenir en haut Aller en bas
JL35



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

MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Lun 21 Juin 2010 - 23:36

Une petite remarque: j'aurais appelé les paramètres x, y, w, h au lieu de x1, y1, x2, y2, les premiers sont les coordonnées, les deux autres les dimensions.

Autre remarque: le x pour boucher (30) n'est pas le même que pour trouer (50) ? et pourtant ça marche...

PS n'y a-t-il pas une confusion dans les paramètres ? si je fais 1, 50, 100, 200, 200 je troue une ellipse au lieu d'un cercle ? si j'augmente le y ça aplatit l'ellipse...

PS2 je crois que j'ai compris, x2 et y2 portent bien leur nom finalement, ce sont les coordonnées opposées du rectangle contenant (et non les largeur et hauteur de l'ellipse).

PS3 (décidément) j'ai l'impression que les paramètres du 'boucher' n'ont aucune importance, ça bouche systématiquement le trou creusé.


Dernière édition par JL35 le Lun 21 Juin 2010 - 23:46, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Lun 21 Juin 2010 - 23:45

Tu as raison pour la doc: je l'intégrerai dans le zip pour la prochaine version, et je tiendrai compte des remarques concernant le nommage des paramètres. La suite viendra rapidement.

Petite remarque: sur mon site, à droite de la ligne pour la DLL, il y a un point d'intérogation clickable qui donne une version succinte de la documentation...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



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

MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Lun 21 Juin 2010 - 23:51

Pour la doc, oui je sais, je l'avais même rapatriée (copier/coller) pour en faire un rtf avec quelques enrichissements (c'est plus joli), mais c'est pas facile à mettre à jour, savoir ce qui a changé...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



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

MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Mar 22 Juin 2010 - 0:21

Décidément c'est très amusant cette perçeuse de formes.
Je m'amuse à mettre une image dans un Picture, à faire un trou dedans, puis à superposer avec une autre image pour combiner les deux (en sauvegardant avec une copie partielle d'écran), c'est très marrant.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Mar 22 Juin 2010 - 1:22

Joli montage ! Oui, il y a de quoi jouer...

Bientôt, on aura des découpes rectangulaires, puis des combinaisons de multiples découpes rectangulaires et ovales...

Et il y aura aussi la possibilité de construire des form Panoramic ayant la forme d'ellipse ou de toutes sortes de combinaisons d'ellipses, de rectangles, de trous rectanngles et ovales - c'est en cours de test et viendra prochainement. C'est quand-même chouette de pouvoir réellement dessiner la forme de sa "form" Panoramic - qu'est-ce que tu en penses ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



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

MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Mar 22 Juin 2010 - 14:51

Effectivement ça ouvre des horizons... je reconnais que je n'en éprouvais pas le besoin (je n'avais jamais pensé à ça), mais maintenant que l'outil existe ça va donner des idées ! et en plus avec des combinaisons de formes, c'est extraordinaire comme possibilités.
Je suis tout ça de près, merci encore à toi.
Et comme tu as à peine le temps d'annoncer une possibilité future qu'elle est déjà réalisée...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Mer 23 Juin 2010 - 2:20

KGF.dll passe à la version V01.01, et la distribution contient une documentation complète en format RTF.

J'ai ajouté les nouvelles fonctions suivantes, en lien avec le "perçage de trou en forme d'ellipse":
- percer/boucher un trou rectangulaire
- ajouter un rectangle à une région windows complexe
- ajouter une ellipse à une région windows complexe
- percer/boucher un trou selon une région windows complexe

Une région windows complexe est identifiée par un numéro gardé dans un entier, comme dim region%. Elle est initialisée par region%=0, puis construite morceau par morceau en ajoutant rectangles et ellipses. Ces morceaux n'ont PAS besoin d'être contigus, et ils peuvent se chevaucher.

Ces régions serviront bientôt aussi à créer des forms Panoramic de formes "libres".

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



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

MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Mer 23 Juin 2010 - 16:27

Bravo pour la doc au format rtf, c'est quand même beaucoup plus agréable à lire (et ça m'évitera de la mettre à jour moi-même à chaque fois Very Happy ) et d'un autre côté je pense que ce sera plus facile pour toi également.

Tu as réagi un peu vite à ma remarque sur les paramètres du trou, comme je l'ai rectifié après en réalité ce sont bien x1, y1, x2, y2, x2 et y2 n'étant pas les dimensions du trou comme tu l'avais indiqué à tort, mais bien les coordonnées opposées par rapport à x1 et y1. A rectifier dans la doc (et dans la syntaxe).

Remarque: les coordonnées à indiquer doivent ignorer la hauteur du bandeau et de la largeur de la bordure de la Form, alors que les commandes 2D de Panoramic en tiennent compte. Si je reprends ton exemple un peu modifié:
Code:
label trouer, boucher
dim i%, x1, y1, x2, y2, offx, offy
offx = 8: offy = 28: ' offset x et y pour tenir compte des bordures de Form 0

2D_Target_Is 0: ' quadrillage de 50 pixels
for i% =  0 to 550 step 50
    2D_Line i%, 0, i%, 400
next i%
for i% = 0 to 400 step 50
    2D_Line 0, i%, 550, i%
Next i%

button 2: top 2,10: left 2,10: caption 2,"Trouer": on_click 2,trouer
button 3: top 3,10: left 3,120: caption 3,"Boucher": on_click 3,boucher

dll_on "C:\Langages\Panoramic\KGF.dll": ' mon emplacement à moi
end

trouer:
x1 = 150
y1 = 100
x2 = 450
y2 = 300
i% = dll_call6("WindowRectangleHole",handle(0),1,x1+offx,y1+offy,x2+offx,y2+offy)
return

boucher:
i% = dll_call6("WindowRectangleHole",handle(0),0,0,0,0,0)
return
Les paramètres 'coordonnées' du "boucher' sont là pour la forme mais ne sont pas exploités, à confirmer.

Autre remarque, dans mon exemple ci-dessus le 'boucher' ne rétablit pas le graphique qui était derrière le trou.

Il faut dire que je réédite souvent mes messages (j'oublie toujours quelque chose), tant que personne n'a répondu, évidemment.


Dernière édition par JL35 le Mer 23 Juin 2010 - 21:46, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Mer 23 Juin 2010 - 19:20

Je prends ton code et fais des essais. Je te tiendrai au courant. Ceci dir, en ce qui concerne les coordonnées, l'intention était bien de donner les coordonnées du coin en haut à gauche, puis la largeur et la hauteur du rectangle. Je vais voir ça plus en détail, mais l'intention, c'était cela. A suivre.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

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

MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Mer 23 Juin 2010 - 19:42

Après une rapide inspection des sources, j'ai trouvé un passage non conforme de paramètres à la routine WindowTopMost, dans les deux sources.

Souvent, tu passes le numéro de form directement, au lieu de passer le handle de la form. A d'autres endroits, tu passes correctement le handle.
Voici les endroits qui posent problème:

Nouveau Plan.bas:
lignes 107, 108, 109, 110, et 111
text_simplifié_clipboard.bas:
lignes 282, 458, 635, 1187

Je pense que si tu passes systématiquement handle(7) au lieu de 7 (et de même pour les autres numéros de form), ça ira beaucoup mieux !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



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

MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Mer 23 Juin 2010 - 21:48

J'ignore ton post ci-dessus qui est destiné à cosmos.
J'ai édité mon bout de code ci-dessus pour mettre en évidence la différence entre coordonnées et dimensions, et l'offset dont il faut tenir compte entre les coordonnées Windows et Panoramic (dans le cas où les bordures Panoramic sont visibles).
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Mer 23 Juin 2010 - 23:40

OK, JL35, je vais reprendre le code modifié. 0+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

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

MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Dim 19 Déc 2010 - 5:11

Sur un autre fil de discussion du forum, Cosmos70 m'a fait part d'une anomalie de fonctionnement de la fonction WindowRectangleHole : en essayant de percer un deuxième trou dans une form, le premier semble disparaître.

Après analyse, j'ai trouvé une erreur logique dans mon programme conduisant à cet effet.

Cette erreur est corrigée, et KGF.dll passe à la version 1.09 du 19/12/2010.

Une inversion de paramètres dans la documentation, concernant cette fonction, a également été corrigée.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Invité
Invité



MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Dim 19 Déc 2010 - 11:30

Éfficacité et grandeur d'âme!
Cette année, la Mère Nöel va penser à toi cette année.
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   

Revenir en haut Aller en bas
 
Nouvelle fonction pour "percer un trou" dans une form !
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Comment faire pour appliquer le code dans ce sujet ?
» probleme pour poser des photos dans un nouveau sujet
» Empêcher la création de topics dans un forum sans pour autant l'interdire dans ses sous forums
» Problème pour agrandir une boite dans un tableau
» Code pour afficher l'avatar dans la page d’accueil

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: