Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: V2.55 du 23/11/2013: nouvelle fonctions Toolbar Sam 23 Nov 2013 - 18:59 | |
| Nouvelle version: KGF.dll V2.55 du 23/11/2013
Nouveautés: 4 fonctions nouvelles pour créer et férer une vraie tollbar (barre d'outils) avec des icônes
Modules modifiés: KGF.dll KGF_SUB.bas KGF.chm KGF.doc KGF.pdf
La doc et les sources sont à jour.
Ces fonctions génèrent et gèrent une toolbar de style Windows. On peut y placer des boutons avec des icônes de 16x16 pixels (à partir de fichiers *.ico, tels qu'on peut les télé-charger du net ou les créer avec un éditeur d'icônes), des séparateurs (espaces) et diviseurs (barres verticales). Un bouton peut être cliqué et in peut récupérer l'évènement dans Panoamic, avec l'identification du bouton cliqué. On peut choisir la couleur de fond, adapter la largeur de la toolbar à la largeur de la fenêtre si celle-ci a été redimensionnée, activer et désactiver la barre entière ou un bouton sélectionné, et rendre visible ou invisible la barre entière ou un bouton sélectionné.
Ceci est quelque chose qui m'a toujours manqué en Panoramic. J'ai souvent fait des constructions boiteuses, avec des pictures cliquables en guise de pettis boutons, ou d'autres solutions non moins boiteuses? Là, on a la barre d'outils standard de Windows. Elle se met automatiquement en haut de la fenêtre sur une hauteur de 30 pixels, avec une largeur automatique sur toute la largeur de la fenêtre. La couleur par défaut est celle des boutons Windows par défaut.
En même temps, j'ai procédé à une structuration sérieuse du code source de ma DLL. Il y a maintenant, sous forme de commentaires, la liste des "sections" au début du code source. Dans l'EDI de Delphi, il suffit de placer le curseur dans le nom d'une de ces sections, de taper ctrl/F (recherche) puis cliquer sur le bouton OK, et on est emmené directement au début de la section correspondante. | |
|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: V2.55 du 23/11/2013: nouvelle fonctions Toolbar Sam 23 Nov 2013 - 19:08 | |
| Un petit programme exemple pour montrer la création d'une toolbar avec 2 boutons, un séparateur et un diviseur. Bien sûr, il faut changer les chemins vers des fichiers icônes 16x16 pixels sur votre ordinateur (il suffit de télé-charger les deux icônes de test contenus dans le dossier Sources\KGF\Icones 16x161\. - Code:
-
' test_Toolbar.bas
label click_toolbar
dim res%, icon$, after%, hint$
KGF_initialize("KGF.dll")
' edit 777 : hide 777 : on_change 777,click_toolbar
' res% = dll_call2("CreateToolbar",handle(0),handle(777)) CreateToolbar(0,0) ' res% = dll_call4("ModifyToolbar",1,255,255,0) : ' jaune ModifyToolbar(1,255,255,0) : ' jaune
width 0, width(0) + 200 ' res% = dll_call4("ModifyToolbar",2,0,0,0) ModifyToolbar(2,0,0,0)
hint$ = "" : ' sans hint icon$ = "C:\Documents and Settings\Klaus\Mes documents\Mes projets Delphi\KGF\Icones 16x16\new.ico" : ' boutin image after% = -1 ' res% = dll_call4("AddButtonToToolbar",1,after%,adr(hint$),adr(icon$)) AddButtonToToolbar(1,after%,hint$,icon$)
hint$ = "" : ' sans hint icon$ = " " : ' séparateur after% = -1 ' res% = dll_call4("AddButtonToToolbar",0,after%,adr(hint$),adr(icon$)) AddButtonToToolbar(0,after%,hint$,icon$)
hint$ = "Ouverture du fichier" : ' avec hint icon$ = "C:\Documents and Settings\Klaus\Mes documents\Mes projets Delphi\KGF\Icones 16x16\open.ico" : ' boutin image after% = -1 ' res% = dll_call4("AddButtonToToolbar",2,after%,adr(hint$),adr(icon$)) AddButtonToToolbar(2,after%,hint$,icon$)
hint$ = "" : ' sans hint icon$ = "" : ' diviseur after% = -1 ' res% = dll_call4("AddButtonToToolbar",0,after%,adr(hint$),adr(icon$)) AddButtonToToolbar(0,after%,hint$,icon$)
' res% = dll_call4("ModifyToolbar",3,0,0,0) : ' désactiver la toolbar ModifyToolbar(3,0,0,0) : ' désactiver la toolbar
' res% = dll_call4("ModifyToolbar",3,0,1,0) : ' activer la toolbar ModifyToolbar(3,0,1,0) : ' désactiver la toolbar
' res% = dll_call4("ModifyToolbar",3,0,0,0) : ' désactiver bouton 3 ModifyToolbar(3,3,0,0) : ' désactiver bouton 3
' res% = dll_call4("ModifyToolbar",3,3,1,0) : ' activer bouton 3 ModifyToolbar(3,3,1,0) : ' activer bouton 3
' res% = dll_call4("ModifyToolbar",4,0,0,0) : ' invisible la toolbar ModifyToolbar(4,0,0,0) : ' désactiver la toolbar
' res% = dll_call4("ModifyToolbar",4,0,1,0) : ' visible la toolbar ModifyToolbar(4,0,1,0) : ' désactiver la toolbar
' res% = dll_call4("ModifyToolbar",4,3,0,0) : ' invisible bouton 3 ModifyToolbar(4,3,0,0) : ' désactiver bouton 3
' res% = dll_call4("ModifyToolbar",4,3,1,0) : ' visible bouton 3 ModifyToolbar(4,3,1,0) : ' activer bouton 3
end
click_toolbar: message "Bouton cliqué: "+text$(CreateToolbar_edit%) return
#INCLUDE "KGF_SUB.bas"
Chaque fois, le code est donné avec les procédures de KGF_SUB.bas, et les appels DLL_CALLx en commentaire. | |
|
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 24 Nov 2013 - 10:26 | |
| Alors là ! mais alors là ...je dis BRAVO ! C'est une chose qui me manquait aussi et mes palliatifs étaient encore plus boiteux que les tiens. Encore une fois BRAVO !!!! | |
|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: V2.55 du 23/11/2013: nouvelle fonctions Toolbar Dim 24 Nov 2013 - 22:37 | |
| Effectivement, c'est un grand progrès pour faire des programmes qui ressemblent à quelque chose de sérieux et d'un peu plus 'pro'. J'ai fait quelques ersatz, mais c'est très laborieux et long et pénible à coder. J'essaierai, c'est sûr, et j'adopterai probablement. Merci Klaus. | |
|