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 fonction pour "percer un trou" dans une form ! Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Nouvelle fonction pour "percer un trou" dans une form ! Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Nouvelle fonction pour "percer un trou" dans une form ! Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Nouvelle fonction pour "percer un trou" dans une form ! Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Nouvelle fonction pour "percer un trou" dans une form ! Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Nouvelle fonction pour "percer un trou" dans une form ! Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Nouvelle fonction pour "percer un trou" dans une form ! Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Nouvelle fonction pour "percer un trou" dans une form ! Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Nouvelle fonction pour "percer un trou" dans une form ! Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Nouvelle fonction pour "percer un trou" dans une form ! Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Nouvelle fonction pour "percer un trou" dans une form ! Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Nouvelle fonction pour "percer un trou" dans une form ! Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Nouvelle fonction pour "percer un trou" dans une form ! Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Nouvelle fonction pour "percer un trou" dans une form ! Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Nouvelle fonction pour "percer un trou" dans une form ! 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
-28%
Le deal à ne pas rater :
-28% Machine à café avec broyeur à grain MELITTA Purista
229.99 € 318.99 €
Voir le deal

 

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

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 fonction pour "percer un trou" dans une form ! Empty
MessageSujet: Nouvelle fonction pour "percer un trou" dans une form !   Nouvelle fonction pour "percer un trou" dans une form ! EmptyLun 21 Juin 2010 - 21: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
http://klauspanoramic.comxa.com/index.html
JL35




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

Nouvelle fonction pour "percer un trou" dans une form ! Empty
MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Nouvelle fonction pour "percer un trou" dans une form ! EmptyLun 21 Juin 2010 - 22: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
Invité
Invité




Nouvelle fonction pour "percer un trou" dans une form ! Empty
MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Nouvelle fonction pour "percer un trou" dans une form ! EmptyLun 21 Juin 2010 - 22: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 : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Nouvelle fonction pour "percer un trou" dans une form ! Empty
MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Nouvelle fonction pour "percer un trou" dans une form ! EmptyLun 21 Juin 2010 - 22: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 - 22:46, édité 1 fois
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 fonction pour "percer un trou" dans une form ! Empty
MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Nouvelle fonction pour "percer un trou" dans une form ! EmptyLun 21 Juin 2010 - 22: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
http://klauspanoramic.comxa.com/index.html
JL35




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

Nouvelle fonction pour "percer un trou" dans une form ! Empty
MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Nouvelle fonction pour "percer un trou" dans une form ! EmptyLun 21 Juin 2010 - 22: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
JL35




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

Nouvelle fonction pour "percer un trou" dans une form ! Empty
MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Nouvelle fonction pour "percer un trou" dans une form ! EmptyLun 21 Juin 2010 - 23: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.
Nouvelle fonction pour "percer un trou" dans une form ! Image
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 fonction pour "percer un trou" dans une form ! Empty
MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Nouvelle fonction pour "percer un trou" dans une form ! EmptyMar 22 Juin 2010 - 0: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
http://klauspanoramic.comxa.com/index.html
JL35




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

Nouvelle fonction pour "percer un trou" dans une form ! Empty
MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Nouvelle fonction pour "percer un trou" dans une form ! EmptyMar 22 Juin 2010 - 13: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
Klaus

Klaus


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

Nouvelle fonction pour "percer un trou" dans une form ! Empty
MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Nouvelle fonction pour "percer un trou" dans une form ! EmptyMer 23 Juin 2010 - 1: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
http://klauspanoramic.comxa.com/index.html
JL35




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

Nouvelle fonction pour "percer un trou" dans une form ! Empty
MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Nouvelle fonction pour "percer un trou" dans une form ! EmptyMer 23 Juin 2010 - 15: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 - 20:46, édité 1 fois
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 fonction pour "percer un trou" dans une form ! Empty
MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Nouvelle fonction pour "percer un trou" dans une form ! EmptyMer 23 Juin 2010 - 18: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
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 fonction pour "percer un trou" dans une form ! Empty
MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Nouvelle fonction pour "percer un trou" dans une form ! EmptyMer 23 Juin 2010 - 18: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
http://klauspanoramic.comxa.com/index.html
JL35




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

Nouvelle fonction pour "percer un trou" dans une form ! Empty
MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Nouvelle fonction pour "percer un trou" dans une form ! EmptyMer 23 Juin 2010 - 20: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
Klaus

Klaus


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

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

OK, JL35, je vais reprendre le code modifié. 0+
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 fonction pour "percer un trou" dans une form ! Empty
MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Nouvelle fonction pour "percer un trou" dans une form ! EmptyDim 19 Déc 2010 - 3: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
http://klauspanoramic.comxa.com/index.html
Invité
Invité




Nouvelle fonction pour "percer un trou" dans une form ! Empty
MessageSujet: Re: Nouvelle fonction pour "percer un trou" dans une form !   Nouvelle fonction pour "percer un trou" dans une form ! EmptyDim 19 Déc 2010 - 9: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é





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

Revenir en haut Aller en bas
 
Nouvelle fonction pour "percer un trou" dans une form !
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» trou ou transparence dans un form
» Faire un trou complexe dans un objet FORM
» Fonction inkey$ inactive dans un form autre que form0
» Nouvelle fonction dans KGF.dll pour retourner la version
» Problème d'affichage dans FORM

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: