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 | |
|
+8JL35 Marc papydall Jicehel Yannick pascal10000 Minibug Klaus 12 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 Sam 28 Mai 2016 - 3:43 | |
| Oups... eh oui. Je corrigerai demain.
EDIT
La doc est corrigée. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: KGF_dll - nouvelles versions Sam 28 Mai 2016 - 14:08 | |
| Intéressante cette fonction pour masquer la barre des tâches, merci Klaus ! | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: Fct 29 de StringGrid Sam 28 Mai 2016 - 16:15 | |
| Klaus,
Si j' ai bien comprise la fonction 29. Il faut passer : la premiere cellule en haut à gauche la dernière cellule en bas à droite le format
Qu' elles sont les valeurs à passer dans la variable format$ pour cette fonction. J' ai vu dans ton exemple que pour un format date tu passer Date$ mais pour les autres ?... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Sam 28 Mai 2016 - 16:40 | |
| - Citation :
- J' ai vu dans ton exemple que pour un format date tu passer Date$
Date$ est juste une variable string. Ca pourrait s'appeler x$, bien sûr. Ce qui compte, c'est son contenu. Et dans la doc de GridFunction code 29, tu as des liens, dans la colonne de droite, pour les formats de valeurs numériques (type de cellule 1), chaînes de caractères (types de cellule 0) et pour les dates (type de cellule 2). Suis les liens, et tu as une explication détaillée des possibilités, très vastes. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 28 Mai 2016 - 16:47 | |
| Tu vas me prendre pour un neuneu mais j' y comprends rien à ce charabia. je dois passer une lettre, le nom du format... y' en a de partout.... je veux juste avoir l' affichage avec les decimaux. entrée = 10 => visualise 10.00 Bon, je laisse tomber, en plus, quoi que je mette dans format$, il me l' affiche tel quel. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Sam 28 Mai 2016 - 17:47 | |
| Alors, essaie ceci: - Code:
-
format$ = "%m" res% = dll_call6("GridFunction",SG%,29,x1%*65536 + y1%,x2%*65536 + y2%,1,adr(format$)) x1%,y1% : coordonnées du coin en haut à gauche du rectangle x2%,y2% : coordonnées du coin en bas à droite du rectangle 1 : type numérique %m signifie "money" (avec 2 décimales systématiquement) | |
| | | pascal10000
Nombre de messages : 812 Localisation : Troyes Date d'inscription : 05/02/2011
| Sujet: Re: KGF_dll - nouvelles versions Sam 28 Mai 2016 - 17:50 | |
| bjr a tous klaus je vais télécharger la dernière version de kgf je ne peut pas t'expliquer pourquoi kgf ralentissais windows mais ce qui est sur c'est que depuis que j'ai enlevé kgf de mon ordi tous est redevenu normal allez savoir pourquoi!!!!!!!!!!!!!! allez bon w end a tous
| |
| | | pascal10000
Nombre de messages : 812 Localisation : Troyes Date d'inscription : 05/02/2011
| Sujet: Re: KGF_dll - nouvelles versions Sam 28 Mai 2016 - 18:32 | |
| Klaus je viens de télécharger la dernière version de kgf et tout semble être correcte a tout les niveau vraiment windows et les pc nous réserve quelque fois des surprises il m' est arrivé une fois d'avoir un cluster de mort a mon disque dur d'un ancien ordi et je ne vous raconte pas les misère que ça fait a+ | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 28 Mai 2016 - 19:17 | |
| | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Sam 28 Mai 2016 - 21:46 | |
| Comment sont mémorisées tes données dans le Grid ? Quelle est la chaîne de caractères que tu enregistres pour faire 10 Euros, et pour faire 12 Euros et 34 centimes ? | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 28 Mai 2016 - 21:51 | |
| La chaine enregistrée est 10.00 ou 12.34 la virgule est un point, je passe par le pave numérique en saisi direct. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Sam 28 Mai 2016 - 22:05 | |
| | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Dim 29 Mai 2016 - 10:28 | |
| KGF.dll V6.78 du 29/05/2016
Nouveautés: - StringGrid: correction d'un bug en utilisation de formats avec des cellules de type 1 (numérique)
Modules modifiés: KGF.dll
La doc est inchangée? Les sources sources sont à jour.
J'ai fait de sorte a pouvoir utiliser indifféremment le point ou la virgule comme séparateur décimal: 12.34 et 12,34 sont identiques, pour le traitement d'un format de cellule de type 1. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 29 Mai 2016 - 15:19 | |
| Aïe...
Situation : je rentre une valeur en saisi direct par le pave numérique.
cas 1 : je rentre 10 j' obtiens 10,00 € en affichage (super)
cas 2 : je rentre 10.00 j' obtiens 1 000,00 € en affichage (pas bon)
cas 3 : je rentre 10,00 j' obtiens une erreur panoramic sur mon opération, la virgule n' est pas reconnu. (grrr....) ca, je peux y remédier par moi même. je te représenterai le cas quand j' aurai résolu cette erreur panoramic.
Edit cas 3 :
je rentre 10,00 j' obtiens 1 000,00 € en affichage (pas bon) | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Dim 29 Mai 2016 - 22:29 | |
| J'ai apporté un correctif. Recharge la DLL et réessaie, stp | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 30 Mai 2016 - 3:06 | |
| Le problème est résolu. Bravo Klaus !
Une petite chose qui devrait être rappelé dans la doc ( peut-être ) :
Pour les calculs dans panoramic lorsque l' on récupère une valeur numérique formaté. Penser à transformer la virgule en point dans txt$ sinon, val(txt$) créera une erreur qui est signalé mais dont le message est aléatoire et j' ai cherché un moment avant de comprendre. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Lun 30 Mai 2016 - 8:50 | |
| Ce sera fait !
EDIT
En fait, je vais procéder autrement. Je vais copier la fonction GetGridCellText en GetNumericGridCellText, avec conversion automatique de la virgule décimale, ainsi que le nettoyage de tout autre artéfact lié au formatage de la cellule, afin de pouvoir utiliser val$() directement. Ce sera plus propre, et plus commode à utiliser.
| |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: Re Lun 30 Mai 2016 - 13:25 | |
| Oui, c' est une idée qui évitera pas mal de soucis et d' intervention sur des bugs qui en fait n' en sont pas. il y a bien les commandes "separator_is_comma" ou "separator_is_point" mais là, il faut bien les placer et pas oublier que l' on a changé le séparateur en cours de programmation. | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: KGF_dll - nouvelles versions Lun 30 Mai 2016 - 20:23 | |
| Bonsoir Klaus
Je sais que tu as développé des fonctions spécifiques pour l'impression mais j'aimerai savoir si tu as déjà envisagé d'insérer une fonction d'impression dans SYNEDIT ? (si cela est possible)
Il s'agit plus pour l'instant d'une réflexion car je ne suis pas encore prêt a intégrer de nouvelles fonction a GPP mais je prépare l'avenir... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Lun 30 Mai 2016 - 21:10 | |
| Mais certainement ! Et c'est déjà fait - regarde le menu "Fichiers"... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Lun 30 Mai 2016 - 21:45 | |
| KGF.dll V6.79 du 30/05/2016Nouveautés: - nouvelle fonction GetNumericGridCellTextModules modifiés: KGF.dll KGF.chmLa doc et les sources sources sont à jour. Cette nouvelle fonction fait la même chose que GetGridCellText, mais elle interprète le contenu de la cellule choisie comme valeur numérique. Alors, tout texte inutile est enlevé (le € par exemple), ainsi que les virgules servant de séparateur des milliers. On s'assure aussi de la présence d'un point à la place de la virgule décimale. Ainsi, la valeur retournée peut être passée directement dans la function VAL() de Panoramic. Dans le programme ci-après, 3 cellules ont été programmées avec un format numérique spécifique. Chacune de ces cellules reçoit la même valeur: "1234.56". Les cellules et leurs formats sont: (10,2) format "%g" (format général) (10,3) format "%n" (format numérique) (10,4) format "%m" (format monétaire) Le programme relit ensuite chacune de ces 3 cellules et affiche le résultat lu, en utilisant str$(val(s$)) juste pour bien vérifier que le texte retourné est compatible avec la fonction VAL(). Il suffit simplement de lancer le programme. - Code:
-
' test_GridFunction_code_12.bas
' Ce programme teste le code 12 de GridFunction. ' Ce code permet de définir des rectangles dans un GRID ' pour lesquels la sélection est interdite.
label clic, sortir
GridConstants() : ' définir des constantes pour le code fonction de GridFunction
dim res%, l%, c%, RGB%, s$, x%, y%, status%, SG%, SG2%, SGclic%, c1$, c2$, c3$ dim M1% : M1% = 0 - 1 dim stat$(3) stat$(0) = "Normal" stat$(1) = "Libre" stat$(2) = "Sélectionnable" stat$(3) = "Bloqué"
dll_on "KGF.dll"
width 0,690 : height 0,310
edit 97 : ' hide 97 top 97,300 : width 97,180 : left 97,250 edit 98 : ' hide 98 top 98,300 : width 98,130 : on_change 98,clic height 0,380
memo 99 : hide 99 item_add 99,"Width=660" item_add 99,"Height=260" item_add 99,"Rows=10" item_add 99,"Columns=10" item_add 99,"FixedRows=1" item_add 99,"FixedColumns=1" SG% = dll_call3("CreateStringGrid",handle(0),handle(99),handle(98)) s$ = string$(255," ") res% = dll_call6("GridFunction",SG%,GF_GetVersion,adr(s$),0,0,0) caption 0,"Objet StringGrid "+trim$(s$)
for l%=1 to 10 for c%=1 to 10 s$ = str$(c%)+","+str$(l%) res% = dll_call4("WriteGridCell",SG%,c%,l%,adr(s$)) next c% next l% s$ = "ABCD" res% = dll_call4("WriteGridCell",SG%,9,4,adr(s$)) ' passer la colonne 9 en gras, italique et cadrée à droite res% = dll_call6("GridFunction",SG%,GF_TextAttributes,9*65536,GF_Bold%+GF_Italic%+GF_Right%,0,0) ' passer la colonne 6 en cadrage centré res% = dll_call6("GridFunction",SG%,GF_TextAttributes,6*65536,GF_Center%,0,0) res% = dll_call6("GridFunction",SG%,GF_TextAttributes,0,0,0,0)
s$ = "10" res% = dll_call4("WriteGridCell",SG%,6,10,adr(s$)) s$ = "80" res% = dll_call4("WriteGridCell",SG%,7,10,adr(s$))
width 0,920 memo 2 : width 2,200 : left 2,660+20 : ' width(1)+20 height 2,260 : ' height(1) font_name 2,"Courier" display
button 3 : top 3,300 : left 3,150 : caption 3,"Sortir" : on_click 3,sortir
' première zone interdite totalement res% = dll_call6("GridFunction",SG%,GF_SetNonSelRect,3,2,5,3)
' seconde zone interdite en saisie uniquement res% = dll_call6("GridFunction",SG%,GF_SetNonModRect,7,4,8,5)
' troisième zone CheckBox à gauche res% = dll_call6("GridFunction",SG%,GF_SetLeftCB,4,6,4,9)
' quatrième zone CheckBox à droite res% = dll_call6("GridFunction",SG%,GF_SetRightCB,6,7,9,8)
' Cinquième zone CheckBox à gauche dans zone interdite res% = dll_call6("GridFunction",SG%,GF_SetLeftCB,4,2,4,3)
' Sixième zone CheckBox à droite dans zone protégée res% = dll_call6("GridFunction",SG%,GF_SetLeftCB,7,4,7,5)
' taille et couleur des ProgressBars res% = dll_call6("GridFunction",SG%,GF_SetProgressBarAttrib,12,255,0,0) ' Septième zone ProgressBar res% = dll_call6("GridFunction",SG%,GF_SetProgressBar,6,10,7,10)
' huitième zone "cellules formatées" comme date s$ = date$ for l%=4 to 7 for c%=2 to 3 res% = dll_call4("WriteGridCell",SG%,c%,l%,adr(s$)) next c% next l% s$ = "dd mmmm yyyy" res% = dll_call6("GridFunction",SG%,GF_SetFormat,2*65536+4,3*65536+7,2,adr(s$))
' activer les couleurs personnalisées res% = dll_call6("GridFunction",SG%,GF_ActivateResetColor,1,0,0,0)
RGB(255,200,200) for l%=2 to 3 for c%=3 to 3 : ' 5 ' couleur de la première zone interdite res% = dll_call6("GridFunction",SG%,GF_CellColor,c%,l%,RGB%,0) next c% next l%
RGB(200,200,255) for l%=4 to 5 for c%=7 to 8 ' couleur de la seconde zone interdite res% = dll_call6("GridFunction",SG%,GF_CellColor,c%,l%,RGB%,0) next c% next l%
' utiliser la ImageList interne res% = dll_call6("GridFunction",SG%,GF_SetIconLib,2,0,0,0)
' icône 3 sur colonne 5, à gauche res% = dll_call6("GridFunction",SG%,GF_SetIconID,5,0,1,3) ' icône 4 sur cellule 5,3, à droite res% = dll_call6("GridFunction",SG%,GF_SetIconID,5,3,2,4)
' chercher la map du grid s$ = string$(3000," ") res% = dll_call2("GetGridCellMap",SG%,adr(s$)) text 2,trim$(s$)
' autoriser la saisie res% = dll_call6("GridFunction",SG%,GF_Edit,1,0,0,0)
' sauvegarder l'objet s$ = "Sauvegarde_StringGrid.txt" res% = dll_call3("SaveGridToFile",SG%,0,adr(s$)) ' créer une autre form avec un autre grid form 300 : width 300,690 : height 300,310 : caption 300,"Grille restaurée" top 300,200 : left 300,450 clear 99 item_add 99,"Width=100" item_add 99,"Height=100" item_add 99,"Rows=2" item_add 99,"Columns=2" item_add 99,"FixedRows=1" item_add 99,"FixedColumns=1" SG2% = dll_call3("CreateStringGrid",handle(300),handle(99),handle(98))
' restaurer l'objet dans un autre grid s$ = "Sauvegarde_StringGrid.txt" res% = dll_call3("LoadGridFromFile",SG2%,0,adr(s$))
' effacer le grid d'origine res% = dll_call6("GridFunction",SG%,GF_Clear,0,0,0,0)
' effacer le grid copié res% = dll_call6("GridFunction",SG2%,GF_Clear,0,0,0,0)
' charger juste les données dans le grid copié (la structure est restée intacte) s$ = "Sauvegarde_StringGrid.txt" res% = dll_call3("LoadGridFromFile",SG2%,1,adr(s$))
' placer une valeur numérique dans les cellules 10,2, 10,3 et 10,4: s$ = "1234.56" res% = dll_call4("WriteGridCell",SG2%,10,2,adr(s$)) res% = dll_call4("WriteGridCell",SG2%,10,3,adr(s$)) res% = dll_call4("WriteGridCell",SG2%,10,4,adr(s$)) ' formater la cellule 10,2 s$ = "%g" : ' général res% = dll_call6("GridFunction",SG2%,GF_SetFormat,10*65536+2,10*65536+2,1,adr(s$)) ' formater la cellule 10,3 s$ = "%n" : ' numérique res% = dll_call6("GridFunction",SG2%,GF_SetFormat,10*65536+3,10*65536+3,1,adr(s$)) ' formater la cellule 10,4 s$ = "%m" : ' monétaire res% = dll_call6("GridFunction",SG2%,GF_SetFormat,10*65536+4,10*65536+4,1,adr(s$))
' relire le texte numérique formaté de ces cellules: c1$ = string$(20," ") c2$ = string$(20," ") c3$ = string$(20," ") res% = dll_call4("GetNumericGridCellText",SG2%,10,2,adr(c1$)) res% = dll_call4("GetNumericGridCellText",SG2%,10,3,adr(c2$)) res% = dll_call4("GetNumericGridCellText",SG2%,10,4,adr(c3$)) message "(10,2)="+str$(val(trim$(c1$)))+" "+"(10,3)="+str$(val(trim$(c2$)))+" "+"(10,4)="+str$(val(trim$(c3$)))
' déclarer le EDIT pour le changement de cellules ' choisir une des deux solutions suivantes: ' avec par2%=1 pour signaler toutes les sorties d'une cellule res% = dll_call6("GridFunction",SG2%,CellChangeEditHandle,handle(97),GF_Yes,0,0) ' avec par2%=0 pour signaler uniquement les sorties d'une cellule modifiée ' res% = dll_call6("GridFunction",SG2%,CellChangeEditHandle,handle(97),GF_No,0,0) end
sub RGB(R%,G%,B%) : ' produire une valeur RGB valide RGB% = (B%*256+R%)*256+G% end_sub
sortir: message "sauvegarde" s$ = "Sauvegarde_StringGrid2.txt" res% = dll_call3("SaveGridToFile",SG2%,0,adr(s$)) message "fini" res% = dll_call1("KillProcessByHandle",handle(0)) clic: ' caption 0,text$(98) : ' ici, on a déjà le numéro de ligne et de colonne dans Edit 98 ! s$ = text$(98) s$ = mid$(s$,3,len(s$)) SGclic% = val(left$(s$,instr(s$,"click=")-1))
res% = dll_call6("GridFunction",SGclic%,GF_GetActiveCell,adr(x%),adr(y%),adr(status%),0) s$ = string$(255," ") res% = dll_call4("GetGridCellText",SGclic%,x%,y%,adr(s$)) caption 0, "click colonne "+str$(x%) +" ligne "+str$(y%)+" "+stat$(status%+1)+" = "+trim$(s$) s$ = string$(255," ") res% = dll_call3("GetGridRowText",SGclic%,y%,adr(s$)) message "Ligne="+trim$(s$) s$ = string$(255," ") res% = dll_call3("GetGridColumnText",SGclic%,x%,adr(s$)) message "Colonne="+trim$(s$) return ' définition de constantes pour le code fonction de GridFunction sub GridConstants() if variable("GF_Edit")=1 then exit_sub dim GF_Edit : GF_Edit = 1 : ' saisie directe dans le GRID dim GF_CellColor : GF_CellColor = 2 : ' couleur d'une cellule dim GF_RowColor : GF_RowColor = 3 : ' couleur d'une ligne dim GF_ColColor : GF_ColColor = 4 : ' couleur d'une colonne dim GF_ActivateColor : GF_ActivateColor = 5 : ' activer les couleurs personnalisées dim GF_NormalRowColor : GF_NormalRowColor = 6 : ' couleur d'une ligne (sans parties fixes) dim GF_NormalColColor : GF_NormalColColor = 7 : ' couleur d'une colonne (sans parties fixes) dim GF_ActivateResetColor : GF_ActivateResetColor = 8 : ' activer les couleurs personnalisées (effacer liste existante) dim GF_TextAttributes : GF_TextAttributes = 9 : ' attributs du texte dim GF_ClearTextAttrib : GF_ClearTextAttrib = 10 : ' effacer tous les attributs pour le GRID dim GF_GetDimensions : GF_GetDimensions = 11 : ' retourner les dimensions du GRID dim GF_SetNonSelRect : GF_SetNonSelRect = 12 : ' définir un rectangle intouchable dim GF_SetNonModRect : GF_SetNonModRect = 13 : ' définir un rectangle non modifiable dim GF_GetActiveCell : GF_GetActiveCell = 14 : ' retourner les infos de la cellule active dim GF_SetLeftCB : GF_SetLeftCB = 15 : ' définir un rectangle de CheckBox gauches dim GF_SetRightCB : GF_SetRightCB = 16 : ' définir un rectangle de CheckBox droites dim GF_SetRowHeight : GF_SetRowHeight = 17 : ' définit la hauteur de lignes dim GF_SetColWidth : GF_SetColWidth = 18 : ' définir la largeur de colonnes dim GF_InsertRow : GF_InsertRow = 19 : ' insérer une ligne dim GF_InsertCol : GF_InsertCol = 20 : ' insérer une colonne dim GF_RemoveRow : GF_RemoveRow = 21 : ' supprimer une ligne dim GF_RemoveCol : GF_RemoveCol = 22 : ' supprimer une colonne dim GF_Clear : GF_Clear = 23 : ' effacer toutes les données dim GF_GetVersion : GF_GetVersion = 24 : ' retourner la version dans un string dim GF_SetProgressBar : GF_SetProgressBar = 25 : ' définir un rectangle de ProgressBar dim GF_SetProgressBarAttrib : GF_SetProgressBarAttrib = 26 : ' définir hauteur et couleur des ProgrssBars dim GF_SetIconLib : GF_SetIconLib = 27 : ' définir la ImageList des icones dim GF_SetIconID : GF_SetIconID = 28 : ' définir un numéro d'icône pour une zone dim GF_SetFormat : GF_SetFormat = 29 : ' définir un rectabngle de cellules avec n format dim GF_Scroll : GF_Scroll = 30 : ' scroller jusqu'à une ligne donnée dim GF_ScrollBars : GF_ScrollBars = 31 : ' autoriser les scrollbars ou non dim CellChangeEditHandle : CellChangeEditHandle = 32 : ' handle d'un EDIT recevant les messages de changement de cellule
dim GF_Bold% : GF_Bold% = 256 : ' texte en gras dim GF_Italic% : GF_Italic% = 512 : ' texte en italique dim GF_Underline% : GF_Underline% = 1024 : ' texte souligné dim GF_Strikeout% : GF_Strikeout% = 2048 : ' texte barré dim GF_Left% : GF_Left% = 0 : ' cadré à gauche dim GF_Center% : GF_Center% = 4096 : ' centré dim GF_Right% : GF_Right% = 8192 : ' cadré à droite
dim GF_No : GF_No = 0 : ' pour différentes options dim GF_Yes : GF_Yes = 1 : ' pour différentes options end_sub
| |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: KGF_dll - nouvelles versions Lun 30 Mai 2016 - 23:05 | |
| Ok Klaus ! Je n'avait pas fait attention... Super, je regarderai cela le moment venu. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Lun 30 Mai 2016 - 23:33 | |
| Juste pour faciliter tes recherches, Minibug, voici le code concerné: Routine évènement pour la ligne "Imprimer" dans le menu "Fichier": - Code:
-
' ===== imprimer la fenêtre active imprimer: s$ = string$(255," ") res% = dll_call2("SelectWindowsPrinter",adr(s$),len(s$)) if res%=0 then return strc$ = "Imprimer page "+str$(act%) tracer(0,strc$) imprimer(act%) return Et voici la sub qui imprime la page actuelle: - Code:
-
' ===== imprimer la page actuelle sub imprimer(nact%) if nact%=0 then exit_sub : ' aucune page ouverte ? s$ = caption$(100+nact%) : ' prendre le titre de la page if left$(s$,1)="*" then s$ = trim$(mid$(s$,2,len(s$))) : ' éliminer la marque "modifié" if left$(s$,1)="<" then s$ = mid$(s$,2,len(s$)-2) : ' cas du <nouveau n> res% = dll_call3("SyneditFunction",SE%(act%),27,adr(s$)) : ' imprimer la page actuelle end_sub
Comme tu vois, l'essentiel du travail est fait par SyneditFunction code 27. | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: KGF_dll - nouvelles versions Mar 31 Mai 2016 - 17:05 | |
| Merci Klaus ! Du coup je vais peut être l'intégrer directement... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mer 1 Juin 2016 - 12:53 | |
| KGF.dll V6.80 du 31/05/2016Nouveautés: - nouvelle fonction InitializeKGF - réécriture de SetTaskBarModules modifiés: KGF.dll KGF.chmLa doc et les sources sources sont à jour. Cette version est préparée déjà pour la nouvelle version intermédiaire annoncée par Jack. Cette version va inclure la fonction ou la variable système HANDLE_APPLICATION. Cette valeur peut être passée à KGF.dll via la nouvelle fonction InitializeKGF et elle y sera mémorisée. La fonction SetTaskBar a été réécrite et largement étendue dans ses fonctionnalités. Elle a maintenant deux paramètres: un code action et un paramètre pour le code action. Les codes actions suivantes sont disponibles: - Citation :
- 0 - cacher/montrer la barre des tâches
1 - fixer/cacher automatiquement la barre des tâches 2 - cacher/montrer le bouton du programme en cours dans la barre des tâches 3 - stopper/démarrer le clignotement du bouton du programme en cours dans la barre des tâches Les valeurs du paramètre pour chacune de ces actions sont: - Citation :
- 0 - non
1 - oui 2 - récupérer l'état actuel (0=non, 1=oui) sauf pour action 3 Tout cela marche déjà, mais la valeur de HANDLE_APPLICATION est évidemment simulée, et de ce fait, cela ne marche que pour un programme lancé à partir de Panoramic_Editor, et non par un EXE généré. Voici le programme de démo, à lancer donc sous l'éditeur: - Code:
-
' test_SetTaskBar.bas
label montrerbarre, autohidebarre, cachericone, flashericone dim res%, MontreBarre%, AutoHide%, MontreBouton%, FlashBouton%
dll_on "KGF.dll" res% = dll_call1("InitializeKGF",0) : ' remplacer 0 par Handle_Application...
' état initial (à configurer selon chaque cas)
MontreBarre% = dll_call2("SetTaskBar",0,2) : ' barre des tâches montrée actuellement AutoHide% = dll_call2("SetTaskBar",1,2) : ' barre des tâches autohide actuellement MontreBouton% = dll_call2("SetTaskBar",2,2) : ' bouton de programme montré actuellement FlashBouton% = 0 : ' bouton de programme fixe actuellement
button 1 : top 1,10 : left 1, 10 : width 1,100 : on_click 1,montrerbarre button 3 : top 3,10 : left 3,110 : width 3,100 : on_click 3,autohidebarre button 5 : top 5,10 : left 5,210 : width 5,100 : on_click 5,cachericone button 6 : top 6,10 : left 6,310 : width 6,100 : on_click 6,flashericone
select MontreBarre% case 0 caption 1,"Montrer barre" case 1 caption 1,"Cacher barre" end_select select AutoHide% case 0 caption 3,"AutoHide barre" case 1 caption 3,"Bloquer barre" end_select select MontreBouton% case 0 caption 5,"Montrer bouton" case 1 caption 5,"Cacher bouton" end_select select FlashBouton% case 0 caption 6,"Flasher bouton" case 1 caption 6,"Fixe bouton" end_select
end
montrerbarre: MontreBarre% = 1 - MontreBarre% res% = dll_call2("SetTaskBar",0,MontreBarre%) select MontreBarre% case 0 caption 1,"Montrer barre" case 1 caption 1,"Cacher barre" end_select return
autohidebarre: AutoHide% = 1 - AutoHide% res% = dll_call2("SetTaskBar",1,AutoHide%) select AutoHide% case 0 caption 3,"AutoHide barre" case 1 caption 3,"Bloquer barre" end_select return
cachericone: MontreBouton% = 1 - MontreBouton% res% = dll_call2("SetTaskBar",2,MontreBouton%) select MontreBouton% case 0 caption 5,"Montrer bouton" case 1 caption 5,"Cacher bouton" end_select return
flashericone: FlashBouton% = 1 - FlashBouton% res% = dll_call2("SetTaskBar",3,FlashBouton%) select FlashBouton% case 0 caption 6,"Fixe bouton" case 1 caption 6,"Flasher bouton" end_select return
| |
| | | 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
| |
| |
| |