Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| KGF_dll - nouvelles versions | |
|
+12JL35 Oscaribout bignono Pedro pascal10000 silverman Jicehel papydall Minibug Marc Yannick Klaus 16 participants | |
Auteur | Message |
---|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mar 28 Mar 2017 - 13:52 | |
| C'est vrai que le polygone ne ressemble pas vraiment à une info_bulle... Quoique... Dans des pages de pub, on voit souvent des étoiles, symétriques ou asymétriques, contenir des informations "flashantes".
Ceci dit, le polygone est une action différente. 6 est l'info-bulle selon ses 3 formats, et 6 est le polygone. C'est juste une forme graphique supplémentaire. Et pour des raisons de facilité, je l'ai inclus dans le programme de démo que voilà.
EDIT
D'ailleurs, a-tu vu la vitesse d'exécution ? Ca a l'air performant, non ? | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 28 Mar 2017 - 15:01 | |
| Je n' ai pas encore exécuté le programme, j' ai juste vu la capture. Là je me bats avec les formulaires de la CPAM et je crois qu' ils les ont écrit en langage assembleur, le C++ est plus compréhensible que ces foutus papiers. Bref j' exécuterai le programme d' ici ce soir, juste après celui qui a pondu ces formulaires. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mer 29 Mar 2017 - 1:01 | |
| Nouvelle version: KGF.dll V7.34 du 29/03/2017Nouveautés: - nouvelle fonction: GetCanvasFromHandleModules modifiés: KGF.dll KGF.chmLa doc et les sources sont à jour. Cette fonction donne exactement le même résultat que la fonction GetCanvas, mais elle est beaucoup plus simple d'utilisation, puisque sa syntaxe est: - Code:
-
CNV% = dll_call1("GetCanvasFromHandle",handle(obj%)) Dans le programme démo ci-après, j'ai remplacé tous les appels à GetCanvas par des appels à GetCanvasFromHandle, tout en laissant les anciens en commentaire. Et pour le plaisir, j'ai ajouté un mémo dans une des forms, par-dessus les graphismes qui y sont dessinés: - Code:
-
' test_picture_bulles.bas
' Il y a deux modes de connexion au canvas, depuis la version 7.34 de KGF.dll: ' CNV% = dll_call2("GetCanvas",object_internal(obj%),adr(hdc%)) ' avec hdc%=handle_canvas(obj%) ' CNV% = dll_call1("GetCanvasFromHandle",handle(obj%)) ' Ces deux méthodes donnent exactement le même résultat, ' mais la seconde est plus facile d'utilisation. ' Ce programme de démo montre la seconde, la première étant en commentaire.
dim res%, hdc%, CNV% dim params%(20), txt$, pol$, degre%, i%, c$ dim abscisses%(10), ordonnees%(10)
form 1 : top 1,40 : left 1,10 : width 1,400 : height 1,300 form 2 : top 2,40 : left 2,420 : width 2,400 : height 2,300 form 3 : top 3,350 : left 3,10 : width 3,400 : height 3,300 form 4 : top 4,350 : left 4,420 : width 4,400 : height 4,300
dll_on "KGF.dll"
Type_0() memo 11: top 11,80 : left 11,100 : parent 11,1 item_add 11,"Ce mémo est ajouté" item_add 11,"après les dessins !" Type_1() Type_2() polygone()
end
sub Type_0(): ' rectangle simple hdc% = handle_canvas(1) ' CNV% = dll_call2("GetCanvas",object_internal(1),adr(hdc%)) CNV% = dll_call1("GetCanvasFromHandle",handle(1)) params%(2) = 50 params%(3) = 50 params%(4) = 110 params%(5) = 90 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 0 params%(10) = 0 : ' type de bulle params%(11) = 0 params%(12) = 0 : ' départ du coin haut à gauche params%(13) = 10 params%(14) = 10 params%(15) = 10 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%))
params%(2) = 280 params%(3) = 50 params%(4) = 340 params%(5) = 90 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 0 params%(10) = 0 : ' type de bulle params%(11) = 0 params%(12) = 1 : ' départ du coin haut à droite params%(13) = 370 params%(14) = 10 params%(15) = 10 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%))
params%(2) = 280 params%(3) = 170 params%(4) = 340 params%(5) = 200 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 0 params%(10) = 0 : ' type de bulle params%(11) = 0 params%(12) = 2 : ' départ du coin bas à droite params%(13) = 370 params%(14) = 240 params%(15) = 10 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%))
params%(2) = 50 params%(3) = 170 params%(4) = 110 params%(5) = 200 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 0 params%(10) = 0 : ' type de bulle params%(11) = 0 params%(12) = 3 : ' départ du coin bas à gauche params%(13) = 10 params%(14) = 240 params%(15) = 10 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%))
params%(2) = 170 params%(3) = 50 params%(4) = 250 params%(5) = 90 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 0 params%(10) = 0 : ' type de bulle params%(11) = 0 params%(12) = 4 : ' départ du bord haut params%(13) = 210 params%(14) = 10 params%(15) = 10 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%))
params%(2) = 280 params%(3) = 110 params%(4) = 340 params%(5) = 160 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 0 params%(10) = 0 : ' type de bulle params%(11) = 0 params%(12) = 5 : ' départ du bord droit params%(13) = 380 params%(14) = 120 params%(15) = 10 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%))
params%(2) = 170 params%(3) = 170 params%(4) = 220 params%(5) = 200 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 0 params%(10) = 0 : ' type de bulle params%(11) = 0 params%(12) = 6 : ' départ du bord bas params%(13) = 210 params%(14) = 240 params%(15) = 10 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%))
params%(2) = 50 params%(3) = 110 params%(4) = 110 params%(5) = 160 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 0 params%(10) = 0 : ' type de bulle params%(11) = 0 params%(12) = 7 : ' départ du bord gauche params%(13) = 10 params%(14) = 130 params%(15) = 10 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%)) display CNV% = dll_call1("FreeCanvas",CNV%) end_sub
sub Type_1(): ' rectangle arrondi hdc% = handle_canvas(2) ' CNV% = dll_call2("GetCanvas",object_internal(2),adr(hdc%)) CNV% = dll_call1("GetCanvasFromHandle",handle(2)) params%(2) = 50 params%(3) = 50 params%(4) = 110 params%(5) = 90 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 10 : ' rayon de l'arrondi params%(10) = 1 : ' type de bulle params%(11) = 0 params%(12) = 0 : ' départ du coin haut à gauche params%(13) = 10 params%(14) = 10 params%(15) = 20 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%))
params%(2) = 280 params%(3) = 50 params%(4) = 340 params%(5) = 90 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 10 : ' rayon de l'arrondi params%(10) = 1 : ' type de bulle params%(11) = 0 params%(12) = 1 : ' départ du coin haut à droite params%(13) = 370 params%(14) = 10 params%(15) = 10 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%))
params%(2) = 280 params%(3) = 170 params%(4) = 340 params%(5) = 200 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 10 : ' rayon de l'arrondi params%(10) = 1 : ' type de bulle params%(11) = 0 params%(12) = 2 : ' départ du coin bas à droite params%(13) = 370 params%(14) = 240 params%(15) = 20 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%))
params%(2) = 50 params%(3) = 170 params%(4) = 110 params%(5) = 200 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 10 : ' rayon de l'arrondi params%(10) = 1 : ' type de bulle params%(11) = 0 params%(12) = 3 : ' départ du coin bas à gauche params%(13) = 10 params%(14) = 240 params%(15) = 20 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%))
params%(2) = 170 params%(3) = 50 params%(4) = 250 params%(5) = 90 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 10 : ' rayon de l'arrondi params%(10) = 1 : ' type de bulle params%(11) = 0 params%(12) = 4 : ' départ du bord haut params%(13) = 210 params%(14) = 10 params%(15) = 20 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%))
params%(2) = 280 params%(3) = 110 params%(4) = 340 params%(5) = 160 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 10 : ' rayon de l'arrondi params%(10) = 1 : ' type de bulle params%(11) = 0 params%(12) = 5 : ' départ du bord droit params%(13) = 380 params%(14) = 120 params%(15) = 20 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%))
params%(2) = 170 params%(3) = 170 params%(4) = 220 params%(5) = 200 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 10 : ' rayon de l'arrondi params%(10) = 1 : ' type de bulle params%(11) = 0 params%(12) = 6 : ' départ du bord bas params%(13) = 210 params%(14) = 240 params%(15) = 20 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%))
params%(2) = 50 params%(3) = 110 params%(4) = 110 params%(5) = 160 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 10 : ' rayon de l'arrondi params%(10) = 1 : ' type de bulle params%(11) = 0 params%(12) = 7 : ' départ du bord gauche params%(13) = 10 params%(14) = 130 params%(15) = 20 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%)) display CNV% = dll_call1("FreeCanvas",CNV%) end_sub
sub Type_2() : ' ellipse hdc% = handle_canvas(3) ' CNV% = dll_call2("GetCanvas",object_internal(3),adr(hdc%)) CNV% = dll_call1("GetCanvasFromHandle",handle(3)) params%(2) = 50 params%(3) = 110 params%(4) = 110 params%(5) = 160 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 0 params%(10) = 2 : ' type de bulle params%(11) = 0 params%(12) = 7 : ' départ du bord gauche params%(13) = 10 params%(14) = 40 params%(15) = 10 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%)) display CNV% = dll_call1("FreeCanvas",CNV%) end_sub
sub Polygone() hdc% = handle_canvas(4) ' CNV% = dll_call2("GetCanvas",object_internal(4),adr(hdc%)) CNV% = dll_call1("GetCanvasFromHandle",handle(4))
abscisses%(0) = 30 abscisses%(1) = 80 abscisses%(2) = 40 abscisses%(3) = 200 abscisses%(4) = 180 abscisses%(5) = 250 abscisses%(6) = 200 abscisses%(7) = 60
ordonnees%(0) = 100 ordonnees%(1) = 200 ordonnees%(2) = 250 ordonnees%(3) = 180 ordonnees%(4) = 110 ordonnees%(5) = 120 ordonnees%(6) = 20 ordonnees%(7) = 110
params%(2) = adr(abscisses%) : ' abscisses des points params%(3) = adr(ordonnees%) : ' ordonnées des points params%(4) = 8 : ' nombre de points params%(5) = 0 : ' ./. params%(6) = 3 : ' épaisseur du trait params%(7) = 0 : ' clBlack : ' couleur du trait params%(8) = -21 : ' clYellow : ' couleur de remplissage ' params%(8) = -99 : ' transparent : ' couleur de remplissage 2d_target_is 4 2d_pen_color 0,0,255 2d_line 1,110,400,110 res% = dll_call3("DrawOnCanvas",CNV%,7,adr(params%))
display CNV% = dll_call1("FreeCanvas",CNV%) end_sub
end
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Jeu 30 Mar 2017 - 23:22 | |
| Nouvelle version: KGF.dll V7.35 du 30/03/2017Nouveautés: - DrawOnCanvas action 6 (bulles de texte): pour les bulles de rectangles arrondis et ellipses, le trait séparant la flèche et la bulle proprement-dite a été supprimée.Modules modifiés: KGF.dllLa doc est inchangée. Les sources sont à jour. C'est bien plus joli comme ça, non ? Voici le source (modifié pour afficher les titres uniquement): - Spoiler:
- Code:
-
' test_picture_bulles.bas
' Il y a deux modes de connexion au canvas, depuis la version 7.34 de KGF.dll: ' CNV% = dll_call2("GetCanvas",object_internal(obj%),adr(hdc%)) ' avec hdc%=handle_canvas(obj%) ' CNV% = dll_call1("GetCanvasFromHandle",handle(obj%)) ' Ces deux méthodes donnent exactement le même résultat, ' mais la seconde est plus facile d'utilisation. ' Ce programme de démo montre la seconde, la première étant en commentaire.
dim res%, hdc%, CNV% dim params%(20), txt$, pol$, degre%, i%, c$ dim abscisses%(10), ordonnees%(10)
form 1 : top 1,40 : left 1,10 : width 1,400 : height 1,300 : caption 1,"Bulles Rectangles" form 2 : top 2,40 : left 2,420 : width 2,400 : height 2,300 : caption 2,"Bulles Rectangles Arrondis" form 3 : top 3,350 : left 3,10 : width 3,400 : height 3,300 : caption 3,"Bulles Ellipse" form 4 : top 4,350 : left 4,420 : width 4,400 : height 4,300 : caption 4,"Polygone"
dll_on "KGF.dll"
Type_0() ' memo 11: top 11,80 : left 11,100 : parent 11,1 ' item_add 11,"Ce mémo est ajouté" ' item_add 11,"après les dessins !" Type_1() Type_2() polygone()
end
sub Type_0(): ' rectangle simple hdc% = handle_canvas(1) ' CNV% = dll_call2("GetCanvas",object_internal(1),adr(hdc%)) CNV% = dll_call1("GetCanvasFromHandle",handle(1)) params%(2) = 50 params%(3) = 50 params%(4) = 110 params%(5) = 90 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 0 params%(10) = 0 : ' type de bulle params%(11) = 0 params%(12) = 0 : ' départ du coin haut à gauche params%(13) = 10 params%(14) = 10 params%(15) = 10 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%))
params%(2) = 280 params%(3) = 50 params%(4) = 340 params%(5) = 90 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 0 params%(10) = 0 : ' type de bulle params%(11) = 0 params%(12) = 1 : ' départ du coin haut à droite params%(13) = 370 params%(14) = 10 params%(15) = 10 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%))
params%(2) = 280 params%(3) = 170 params%(4) = 340 params%(5) = 200 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 0 params%(10) = 0 : ' type de bulle params%(11) = 0 params%(12) = 2 : ' départ du coin bas à droite params%(13) = 370 params%(14) = 240 params%(15) = 10 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%))
params%(2) = 50 params%(3) = 170 params%(4) = 110 params%(5) = 200 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 0 params%(10) = 0 : ' type de bulle params%(11) = 0 params%(12) = 3 : ' départ du coin bas à gauche params%(13) = 10 params%(14) = 240 params%(15) = 10 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%))
params%(2) = 170 params%(3) = 50 params%(4) = 250 params%(5) = 90 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 0 params%(10) = 0 : ' type de bulle params%(11) = 0 params%(12) = 4 : ' départ du bord haut params%(13) = 210 params%(14) = 10 params%(15) = 10 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%))
params%(2) = 280 params%(3) = 110 params%(4) = 340 params%(5) = 160 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 0 params%(10) = 0 : ' type de bulle params%(11) = 0 params%(12) = 5 : ' départ du bord droit params%(13) = 380 params%(14) = 120 params%(15) = 10 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%))
params%(2) = 170 params%(3) = 170 params%(4) = 220 params%(5) = 200 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 0 params%(10) = 0 : ' type de bulle params%(11) = 0 params%(12) = 6 : ' départ du bord bas params%(13) = 210 params%(14) = 240 params%(15) = 10 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%))
params%(2) = 50 params%(3) = 110 params%(4) = 110 params%(5) = 160 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 0 params%(10) = 0 : ' type de bulle params%(11) = 0 params%(12) = 7 : ' départ du bord gauche params%(13) = 10 params%(14) = 130 params%(15) = 10 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%)) display CNV% = dll_call1("FreeCanvas",CNV%) end_sub
sub Type_1(): ' rectangle arrondi hdc% = handle_canvas(2) ' CNV% = dll_call2("GetCanvas",object_internal(2),adr(hdc%)) CNV% = dll_call1("GetCanvasFromHandle",handle(2)) params%(2) = 50 params%(3) = 50 params%(4) = 110 params%(5) = 90 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 10 : ' rayon de l'arrondi params%(10) = 1 : ' type de bulle params%(11) = 0 params%(12) = 0 : ' départ du coin haut à gauche params%(13) = 10 params%(14) = 10 params%(15) = 20 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%))
params%(2) = 280 params%(3) = 50 params%(4) = 340 params%(5) = 90 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 10 : ' rayon de l'arrondi params%(10) = 1 : ' type de bulle params%(11) = 0 params%(12) = 1 : ' départ du coin haut à droite params%(13) = 370 params%(14) = 10 params%(15) = 10 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%))
params%(2) = 280 params%(3) = 170 params%(4) = 340 params%(5) = 200 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 10 : ' rayon de l'arrondi params%(10) = 1 : ' type de bulle params%(11) = 0 params%(12) = 2 : ' départ du coin bas à droite params%(13) = 370 params%(14) = 240 params%(15) = 20 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%))
params%(2) = 50 params%(3) = 170 params%(4) = 110 params%(5) = 200 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 10 : ' rayon de l'arrondi params%(10) = 1 : ' type de bulle params%(11) = 0 params%(12) = 3 : ' départ du coin bas à gauche params%(13) = 10 params%(14) = 240 params%(15) = 20 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%))
params%(2) = 170 params%(3) = 50 params%(4) = 250 params%(5) = 90 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 10 : ' rayon de l'arrondi params%(10) = 1 : ' type de bulle params%(11) = 0 params%(12) = 4 : ' départ du bord haut params%(13) = 210 params%(14) = 10 params%(15) = 20 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%))
params%(2) = 280 params%(3) = 110 params%(4) = 340 params%(5) = 160 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 10 : ' rayon de l'arrondi params%(10) = 1 : ' type de bulle params%(11) = 0 params%(12) = 5 : ' départ du bord droit params%(13) = 380 params%(14) = 120 params%(15) = 20 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%))
params%(2) = 170 params%(3) = 170 params%(4) = 220 params%(5) = 200 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 10 : ' rayon de l'arrondi params%(10) = 1 : ' type de bulle params%(11) = 0 params%(12) = 6 : ' départ du bord bas params%(13) = 210 params%(14) = 240 params%(15) = 20 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%))
params%(2) = 50 params%(3) = 110 params%(4) = 110 params%(5) = 160 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 10 : ' rayon de l'arrondi params%(10) = 1 : ' type de bulle params%(11) = 0 params%(12) = 7 : ' départ du bord gauche params%(13) = 10 params%(14) = 130 params%(15) = 20 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%)) display CNV% = dll_call1("FreeCanvas",CNV%) end_sub
sub Type_2() : ' ellipse hdc% = handle_canvas(3) ' CNV% = dll_call2("GetCanvas",object_internal(3),adr(hdc%)) CNV% = dll_call1("GetCanvasFromHandle",handle(3)) params%(2) = 50 params%(3) = 110 params%(4) = 110 params%(5) = 160 params%(6) = 1 params%(7) = 0 : ' clBlack params%(8) = -21 : ' clYellow params%(9) = 0 params%(10) = 2 : ' type de bulle params%(11) = 0 params%(12) = 7 : ' départ du bord gauche params%(13) = 10 params%(14) = 40 params%(15) = 10 : ' largeur de la flèche à la base res% = dll_call3("DrawOnCanvas",CNV%,6,adr(params%)) display CNV% = dll_call1("FreeCanvas",CNV%) end_sub
sub Polygone() hdc% = handle_canvas(4) ' CNV% = dll_call2("GetCanvas",object_internal(4),adr(hdc%)) CNV% = dll_call1("GetCanvasFromHandle",handle(4))
abscisses%(0) = 30 abscisses%(1) = 80 abscisses%(2) = 40 abscisses%(3) = 200 abscisses%(4) = 180 abscisses%(5) = 250 abscisses%(6) = 200 abscisses%(7) = 60
ordonnees%(0) = 100 ordonnees%(1) = 200 ordonnees%(2) = 250 ordonnees%(3) = 180 ordonnees%(4) = 110 ordonnees%(5) = 120 ordonnees%(6) = 20 ordonnees%(7) = 110
params%(2) = adr(abscisses%) : ' abscisses des points params%(3) = adr(ordonnees%) : ' ordonnées des points params%(4) = 8 : ' nombre de points params%(5) = 0 : ' ./. params%(6) = 3 : ' épaisseur du trait params%(7) = 0 : ' clBlack : ' couleur du trait params%(8) = -21 : ' clYellow : ' couleur de remplissage ' params%(8) = -99 : ' transparent : ' couleur de remplissage 2d_target_is 4 2d_pen_color 0,0,255 2d_line 1,110,400,110 res% = dll_call3("DrawOnCanvas",CNV%,7,adr(params%))
display CNV% = dll_call1("FreeCanvas",CNV%) end_sub
end
Pour ceux qui sont des matheux: Le cas de la bulle en forme d'ellipse est intéressant. Comment dessiner cette figure sans le trait de séparation entre la flèche et l'ellipse ? Voici comment j'ai procédé: Données de départ:1. coordonnées du point en haut à gauche et ce lui d'en bas à droite du rectangle contenant l'ellipse E 2. coordonnées de la pointe de la flèche P 3. diamètre c de la flèche à sa base Données dérivées:4. coordonnées du centre de l'ellipse OO 5. longueur des deux demi-diagonales de l'ellipse a et b Méthode suivie:a. calculer l'équation de la droite d1: P->OO b. calculer l'orthogonale d2 à d1 en OO c. trouver deux points P1 et P2 sur d2, équidistants de OO et dont la distance est c d. calculer l'équation de la droite d3: P->P1 e. calculer l'équation de la droite d4: P->P2 f. calculer les deux intersections de d3 avec E et retenir celle qui est la plus proche de P: point R f. calculer les deux intersections de d4 avec E et retenir celle qui est la plus proche de P: point S g. tracer les droites R->P et P->S h. tracer le segment d'ellipse (arc d'ellipse) de S à R i. colorier l'intérieur Et voila. Une dernière info technique: la qualité du dessin de l'arc de l'ellipse semble suffisant pour être "étanche" concernant le "flood_fill" de l'intérieur. Si, pour une dimension quelconque, ceci devait ne plus être le cas, il suffirait de choisir une épaisseur de trait de 2 pixels pour y pallier. | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: KGF_dll - nouvelles versions Ven 31 Mar 2017 - 2:23 | |
| - Klaus a écrit:
Pour ceux qui sont des matheux: Le cas de la bulle en forme d'ellipse est intéressant. Comment dessiner cette figure sans le trait de séparation entre la flèche et l'ellipse ?
Voici ce que je propose: - Code:
-
rem ============================================================================ rem Bulle elliptique rem ============================================================================
BulleElliptique(300,200,100,50,60,390,450,50) BulleElliptique(100,100,50,30,270,270+360-30,50,150) BulleElliptique(100,300,100,30,0,0+360-30,450,350) BulleElliptique(500,200,50,80,300,300+360-30,550,400)
end rem ============================================================================ ' La méthode : ' Tracer un arc d'ellipse de l'angle deb à l'angle fin ' Relier ensuite à la pointe de la flèche
' xc,yc : Coordonnées du centre de l'ellipse ' a,b : Longueurs des 2 demi-axes de l'ellipse ( a horizontal ; b vertical) ' deb,fin : angles en degrés du début et de la fin du tracé de l'ellipse dans le sens trigonométrique ' xp,yp : Coordonnées de la pointe de la flèche ' ============================================================================== ' INFO : Pour déterminer l'angle de la fin, on peut utiliser le calcul suivant : ' fin = deb + 360 - 30 ( la valeur 30 peut être modifiée ; c'est l'ouverture )
SUB BulleElliptique(xc,yc,a,b,deb,fin,xp,yp) dim_local angle degrees ' 2d_pen_width 2 : ' pour un tracé pluis épais ' Tracé de l'arc d'ellipse 2d_poly_from xc + a * cos(deb) , yc - b * sin(deb) for angle = deb to fin 2d_poly_to xc + a * cos(angle) , yc - b * sin(angle) next angle ' Liaison à la flèche 2d_poly_from xc + a * cos(deb) , yc - b * sin(deb) 2d_poly_to xp,yp : 2d_poly_to xc + a * cos(fin-1) , yc - b * sin(fin-1) ' Remplissage de la figure 2d_flood xc,yc,255,255,0 END_SUB rem ============================================================================
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Ven 31 Mar 2017 - 2:41 | |
| Joli, Papydall ! To traces l'arc d'ellipse pixel par pixel, selon des coordonnées polaires. C'est futé, et je mets ce code dans ma poche ! | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: KGF_dll - nouvelles versions Ven 31 Mar 2017 - 11:25 | |
| Une légère modification pour afficher un texte dans la bulle. - Code:
-
rem ============================================================================ rem Bulle elliptique rem avec texte rem ============================================================================
BulleElliptique(300,200,100,50,60,390,450,50,"Hello !")
end rem ============================================================================ ' La méthode : ' Tracer un arc d'ellipse de l'angle deb à l'angle fin ' Relier ensuite à la pointe de la flèche
' xc,yc : Coordonnées du centre de l'ellipse ' a,b : Longueurs des 2 demi-axes de l'ellipse ( a horizontal ; b vertical) ' deb,fin : angles en degrés du début et de la fin du tracé de l'ellipse dans le sens trigonométrique ' xp,yp : Coordonnées de la pointe de la flèche ' t$ : Texte de la bulle ' ============================================================================== ' INFO : Pour déterminer l'angle de la fin, on peut utiliser le calcul suivant : ' fin = deb + 360 - 30 ( la valeur 30 peut être modifiée ; c'est l'ouverture )
SUB BulleElliptique(xc,yc,a,b,deb,fin,xp,yp,t$) dim_local angle,w,h font_bold 0 : font_size 0,24 : font_underline 0 : font_italic 0 w = text_width(t$,0) : h = text_height(t$,0) font_color 0,255,0,0 : print_locate xc-w/2 , yc-0.8*h : print t$ degrees 2d_pen_width 2 : ' pour un tracé plus marqué ' Tracé de l'arc d'ellipse 2d_poly_from xc + a * cos(deb) , yc - b * sin(deb) for angle = deb to fin 2d_poly_to xc + a * cos(angle) , yc - b * sin(angle) next angle ' Liaison à la flèche 2d_poly_from xc + a * cos(deb) , yc - b * sin(deb) 2d_poly_to xp,yp : 2d_poly_to xc + a * cos(fin-1) , yc - b * sin(fin-1) ' Remplissage de la figure 2d_flood xc,yc,255,255,0 END_SUB rem ============================================================================
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Ven 31 Mar 2017 - 12:02 | |
| Un petit "plus" pour ton code, Papydall: 1. dessine dans un picture au lieu de la form 0, car le dessin dans form 0 est évanescent - place une autre fenêtre devant et enlève-là, et ton dessin a disparu ! 2. écris le texte juste à la fin, avec 2d_fill_color de la même couleur que le remplissage de la bulle - les "e" et "o" seront remplis ! Voici: - Code:
-
rem ============================================================================ rem Bulle elliptique rem avec texte rem ============================================================================
picture 1 : full_space 1 BulleElliptique(1,300,200,100,50,60,390,450,50,"Hello !")
end rem ============================================================================ ' La méthode : ' Tracer un arc d'ellipse de l'angle deb à l'angle fin ' Relier ensuite à la pointe de la flèche
' xc,yc : Coordonnées du centre de l'ellipse ' a,b : Longueurs des 2 demi-axes de l'ellipse ( a horizontal ; b vertical) ' deb,fin : angles en degrés du début et de la fin du tracé de l'ellipse dans le sens trigonométrique ' xp,yp : Coordonnées de la pointe de la flèche ' t$ : Texte de la bulle ' ============================================================================== ' INFO : Pour déterminer l'angle de la fin, on peut utiliser le calcul suivant : ' fin = deb + 360 - 30 ( la valeur 30 peut être modifiée ; c'est l'ouverture )
SUB BulleElliptique(obj,xc,yc,a,b,deb,fin,xp,yp,t$) dim_local angle,w,h font_bold obj : font_size obj,24 : font_underline obj : font_italic obj w = text_width(t$,obj) : h = text_height(t$,obj) print_target_is obj : 2d_target_is obj ' font_color obj,255,0,0 : print_locate xc-w/2 , yc-0.8*h : print t$ degrees 2d_pen_width 2 : ' pour un tracé plus marqué ' Tracé de l'arc d'ellipse 2d_poly_from xc + a * cos(deb) , yc - b * sin(deb) for angle = deb to fin 2d_poly_to xc + a * cos(angle) , yc - b * sin(angle) next angle ' Liaison à la flèche 2d_poly_from xc + a * cos(deb) , yc - b * sin(deb) 2d_poly_to xp,yp : 2d_poly_to xc + a * cos(fin-1) , yc - b * sin(fin-1) ' Remplissage de la figure 2d_flood xc,yc,255,255,0 2d_fill_color 255,255,0 font_color obj,255,0,0 : print_locate xc-w/2 , yc-0.8*h : print t$ END_SUB rem ============================================================================
| |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: KGF_dll - nouvelles versions Ven 31 Mar 2017 - 17:38 | |
| Bravo, Klaus! C'est beaucoup mieux, ainsi. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Sam 1 Avr 2017 - 3:22 | |
| Nouvelle version: KGF.dll V7.36 du 01/04/2017Nouveautés: - nouvelle fonction: CheckMouseButtonModules modifiés: KGF.dll KGF.chmLa doc et les sources sont à jour. Cette fonction permet de savoir très simplement si le bouton gauche ou le bouton droit de la souris est enfoncé ou non, à l'instant de l'appel de la fonction. Peu importe sur sur quel objet se trouve le curseur, il peut même être en-dehors de l'application. Cette fonction indique juste l'état du bouton visé. Regardez cette petite démo, et observez la barre de titre. Elle affiche les valeurs de certaines fonctions Panoramic ainsi la valeur de la variable down% (au début du titre) qui est 1 si le bouton gauche est enfoncé, et 0 sinon. Lancez ce programme et promenez le curseur sur la fenêtre (ou ailleurs...) et enfoncez le bouton gauche et relâchez-le. La variable down% va fidèlement refléter l'état du bouton: - Code:
-
label tick dim down%
dll_on "KGF.dll" picture 11 : full_space 11 : ' on_mouse_move 11,move timer 1 : timer_interval 1,100 : on_timer 1,tick end
tick: down% = dll_call1("CheckMouseButton",1) caption 0,"tick: down%="+str$(down%)+" mouse_left_down="+str$(mouse_left_down(11))+" mouse_left_up="+str$(mouse_left_up(11))+" "+str$(mouse_x_position(11))+","+str$(mouse_y_position(11)) return | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 1 Avr 2017 - 3:49 | |
| Je prends tout de suite ! | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 1 Avr 2017 - 5:04 | |
| ( troisième édition après caprices du forum ) J' ai essayé vite fait car il est tard, ou tôt ce matin. Cela fonctionne très bien. Le must, à mon avis et cela n' engage que moi. Ce serait de récupérer les retours dans un EDIT voir 2 sans le TIMER Panoramic. Je vois bien un appel comme ceci : res%=dll_call4("NomQueTuVeux",act%,handle(Form),Handle(Edit1),Handle(Edit2)) Actions :1 Mise en service pour le FORM en par1% 2 Arrêt pour le FORM en par1% ( par2%=0 ; par3%=0) EDIT 1 retoune l' état de la souris 0, la souris se promène sur le fromage (Up) 1, le bouton gauche est enfoncé (Left_Down) 2, le bouton droit est enfoncé (Right_Down) EDIT 2 retourne la position de la souris sur le fromage xxxxx,yyyyyJe ne sais pas faire, mais, comme tu le vois, je ne manque pas d' idées... Mieux..., encore plus ouf, les retours de la position dans des variables...avec un paramètre en plus bien sûr on capte le changement d' état par ON_CHANGE sur l' EDIT et on se sert des deux variables comme des MOUSE_X_POSITION et MOUSE_Y_POSITION valable sur le FORM choisit et ce, quelque soit l' objet survolé. Je viens même de trouver un nom pour la fonction : "MickeyMouseEtSesDeuxOreilles" Bon, je sors, je parts en cou.... complètement, il est temps d' aller dormir une heure ou deux... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Sam 1 Avr 2017 - 10:49 | |
| Je vois ce que tu veux faire. Maie cela peut se faire beaucoup plus simplement, maintenant: action 1: ON_MOUSE_MOVE sur la form en question action 2: OFF_MOUSE_MOVE sur la form en question dans la routine pour ON_MOUSE_MOVE, utiliser CheckMouseButton pour savoir si le bouton est enfoncé, et les fonctions classiques mouse_x_position et mouse_y_position pour avoir la position. Pas besoin d'un edit avec on_change et de deux variables - tout fonctionne comme ça, sans timer: - Code:
-
label move dim down%
dll_on "KGF.dll" picture 11 : full_space 11 : on_mouse_move 11,move end
move: down% = dll_call1("CheckMouseButton",1) caption 0,"tick: down%="+str$(down%)+" "+str$(mouse_x_position(11))+","+str$(mouse_y_position(11)) return Regarde la barre de titre - tu sera bluffé. Je suis en train d'appliquer cela dans un outil que je publierai bientôt, et cela résoud un problème avec lequel je me battais depuis un moment ! | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 1 Avr 2017 - 14:56 | |
| Non, ce n' est pas cela que je veux faire. c' est cela : - Code:
-
label move dim down%
dll_on "C:\KGF\KGF.dll" on_mouse_move 0,move
picture 11 height 11,100 width 11,100 top 0,50 left 0,50
end
move: down% = dll_call1("CheckMouseButton",1) caption 0,"tick: down%="+str$(down%)+" "+str$(mouse_x_position(0))+","+str$(mouse_y_position(0)) return sauf que lorsque j' arrive sur le picture, plus de detection. je veux savoir sur quelles coordonnées d' un form la souris est cliqué que ce soit sur l' oreille gauche ou droite. d' où l' intérêt de ma bafouille au dessus. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Sam 1 Avr 2017 - 17:44 | |
| Et commeça, ça irait ? - Code:
-
label move dim down%, x%, y%, res%
dll_on "KGF.dll" on_mouse_move 0,move
picture 11 : on_mouse_move 11,move height 11,100 width 11,100 top 0,50 left 0,50 end
move: down% = dll_call1("CheckMouseButton",1) res% = dll_call3("GetMousePosition",handle(0),adr(x%),adr(y%)) caption 0,"tick: down%="+str$(down%)+" "+str$(x%)+","+str$(y%) return | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 1 Avr 2017 - 18:05 | |
| V' la autre chose ! illegal instruction line 15... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Sam 1 Avr 2017 - 18:12 | |
| C'est que tu n'as pas la dernière version de la DLL, celle qui implémente la fonction CheckMouseButton... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Sam 1 Avr 2017 - 19:13 | |
| Et regarde ceci: - Code:
-
label move dim down%, x%, y%, xa%, ya%, res%, hnd%
dll_on "KGF.dll" on_mouse_move 0,move
picture 11 : on_mouse_move 11,move height 11,100 width 11,100 top 0,50 left 0,50
memo 22 : left 22,200 : on_mouse_move 22,move end
move: down% = dll_call1("CheckMouseButton",1) res% = dll_call3("GetMousePosition",handle(0),adr(x%),adr(y%)) res% = dll_call2("GetAbsoluteMousePosition",adr(xa%),adr(ya%)) hnd% = dll_call2("GetObjectUnderPosition",xa%,ya%) caption 0,"tick: down%="+str$(down%)+" "+str$(x%)+","+str$(y%)+" => "+str$(hnd%) return Pour les objets qui ont un handle (pas le picture !), tu as également le handle permettant de l'identifier. Pour le picture, le handle de la form est retourné. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Sam 1 Avr 2017 - 19:38 | |
| De plus en plus fort - avec détection du picture 11: - Code:
-
label move dim down%, x%, y%, xa%, ya%, res%, hnd%, s$
dll_on "KGF.dll" on_mouse_move 0,move
picture 11 : on_mouse_move 11,move height 11,100 width 11,100 top 0,50 left 0,50
memo 22 : left 22,200 : on_mouse_move 22,move end
move: down% = dll_call1("CheckMouseButton",1) res% = dll_call3("GetMousePosition",handle(0),adr(x%),adr(y%)) res% = dll_call2("GetAbsoluteMousePosition",adr(xa%),adr(ya%)) hnd% = dll_call2("GetObjectUnderPosition",xa%,ya%) s$ = "" if x%>=left(11) if x%<=(left(11)+width(11)-1) if y%>=top(11) if y%<=(top(11)+height(11)-1) s$ = "picture 11" end_if end_if end_if end_if
caption 0,"tick: down%="+str$(down%)+" "+str$(x%)+","+str$(y%)+" => "+str$(hnd%)+" "+s$ return | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 1 Avr 2017 - 23:07 | |
| Je ne sais pas pourquoi mais cela re-fonctionne. Tu remarquera une chose, c' est que down n' est capté que si la souris bouge pas si elle est statique. essai de placer ta souris et de cliquer sans la bouger de place... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Dim 2 Avr 2017 - 2:22 | |
| Mais enfin, c'est normal, puisque tu utilises l'évènement ON_MOUSE_MOVE. Voici une réaction immédiate, même sans movement de la souris: - Code:
-
label move, down, up dim down%, x%, y%, xa%, ya%, res%, hnd%, s$
dll_on "KGF.dll" on_mouse_move 0,move on_mouse_down 0,down : on_mouse_up 0,up
picture 11 : on_mouse_move 11,move on_mouse_down 11,down : on_mouse_up 11,up height 11,100 width 11,100 top 0,50 left 0,50
memo 22 : left 22,200 : on_mouse_move 22,move on_mouse_down 22,down : on_mouse_up 22,up end
down: up: move: down% = dll_call1("CheckMouseButton",1) res% = dll_call3("GetMousePosition",handle(0),adr(x%),adr(y%)) res% = dll_call2("GetAbsoluteMousePosition",adr(xa%),adr(ya%)) hnd% = dll_call2("GetObjectUnderPosition",xa%,ya%) s$ = "" if x%>=left(11) if x%<=(left(11)+width(11)-1) if y%>=top(11) if y%<=(top(11)+height(11)-1) s$ = "picture 11" end_if end_if end_if end_if
caption 0,"tick: down%="+str$(down%)+" "+str$(x%)+","+str$(y%)+" => "+str$(hnd%)+" "+s$ return | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Lun 3 Avr 2017 - 2:50 | |
| Nouvelle version: KGF.dll V7.37 du 03/04/2017
Nouveautés: - DrawOnCanvas: correction d'un bug avec bulles en format ellipse
Modules modifiés: KGF.dll
La doc est inchangée. Les sources sont à jour.
Ceci est une correction technique qu touche uniquement le dessin de bulles de texte en forme d'ellipse sur un canvas.
Mais cette version est indispensable pour opérer l'utilitaire "annoter_une_image.bas" que je publie dans la section appropriée. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mar 4 Avr 2017 - 3:58 | |
| Nouvelle version: KGF.dll V7.38 du 04/04/2017
Nouveautés: - DrawOnCanvas: action 6 (bulles de texte): permettre le fond transparent (couleur -99)
Modules modifiés: KGF.dll
La doc est inchangée. Les sources sont à jour.
C'était un oubli pour ces bulles de tetxte, alors que pour les autres figures géométriques, c'était bien géré. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mer 5 Avr 2017 - 20:55 | |
| Nouvelle version: KGF.dll V7.39 du 05/04/2017
Nouveautés: - DrawOnCanvas: action 5 (bulles de texte): gérer le cadrage (gauche, centré, droite)
Modules modifiés: KGF.dll KGF.dll
La doc et les sources sources sont à jour.
Le bloc de paramètres pour l'action 5 a changé: - utilisation de l'indice 8 jusqu'à maintenant inutilisé pour paramétrer le type de cadrage: 0=cadrage à gauche 1=centré 2=cadrage à droite - ajout de l'indice 14 pour indiquer la largeur en pixels de la zone de texte, pour les cadrages 1 et 2
J'ai essayé de faire le cadrage dans Panoramic à l'aide de la fonction TEXT_WIDTH, mais cela s'est avéré impossible. Et donc, je l'ai intégré directement dans DraOnCanvas. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 6 Avr 2017 - 20:14 | |
| 2 eme edition ! merci le forum ! La fonction d' autocompl...(j' ai perdu le nom ) de synedit se refererait elle à la liste des mots-clés du fichier *.chm ? C' est pour savoir comment monter mes fichiers chm... | |
| | | Contenu sponsorisé
| Sujet: Re: KGF_dll - nouvelles versions | |
| |
| | | | KGF_dll - nouvelles versions | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |