| KGF_dll - nouvelles versions | |
|
+13The Gamer Nardo26 silverman Minibug Pedro mindstorm pascal10000 Jicehel papydall Jean Claude JL35 Yannick Klaus 17 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 Dim 1 Mar 2015 - 2:40 | |
| La toolbar n'est pas prise en compte dans ces mesures ! | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 1 Mar 2015 - 2:42 | |
| C' est encore pire, il me manque 26+16=42 ! Qui est ce qui les a mangé ?... | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 1 Mar 2015 - 2:48 | |
| Je viens regarder tes modifs pour le Tab
En prenant le form, ton tab est masqué par le Pan% qui prends toute la zone client.
Quoi que...je peux peut-être le "hider"....
Non, cela ne fonctionne pas, du moment qu' il est hider, il ne prend plus le full_space.
La barre des onglets est visible mais pas le panel associé, il est caché par le pan%
Dernière édition par ygeronimi le Dim 1 Mar 2015 - 3:14, édité 1 fois | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Dim 1 Mar 2015 - 3:13 | |
| Alors, à quoi sert Pan% ? Et les PanG%(x) ? J'espère que ce n'est pas pour les onglets... car ça ne marche pas comme ça. La fonction TabObjectGeometry positionne un Panel dans la form, avec la position et les dimensions indiquées. A l'intérieur de ce Panel (non accessible directement car créé et géré par la DLL), on positionne un objet interne qui est le bandeau de commande avec les onglets et les quelques petits boutons à droite. Cet objet est toujours positionné en haut de ce fameux Panel implicite, et prend toute la largeur, quelle qu'elle soit, avec une petite hauteur fixe. Et à chaque onglet de cette barre de commande correspond un objet Panel, également généré automatiquement par la DLL, qui remplit absolument tout l'espace restant du Panel initial. Et un clic sur un des onglets dans la barre de commande cache automatiquement le Panel actuellement affiché et montre le Panel qui correspond à l'onglet de la barre de commandes.
Ainsi, si tu déplaces les coordonnées (x,y) de l'objet TabObject avec TabObjectGeometry, tu déplaces l'ensemble de cette structure. Et si tu changes les dimensions largeur/hauteur de l'objet de l'objet TabObject avec TabObjectGeometry, cela redimensionne automatiquement tous les objets panels générés par la DLL: aussi bien le panel de base qui contient tout, que les divers panels correspondant à chaque onglet.
Evidemment, les objets placés sur ces onglets ne seront pas redimensionnés automatiquement. Ils suivront les déplacements fidèlement, car leurs positions sont relatives par rapport aux coordonnées des Panels représentant chaque onglet, mais leur largeur et hauteur ne change pas. Et c'est pourquoi, en utilisant TabObjectGeometry pour un changement de dimensions, il faut redimensionner chaque objet Synedit placé dans les différents Panels (onglets) d'un objet TabObject.
Est-ce que tu vois mieux comment c'est organisé ? Surtout, n'essaie pas de créer une organisation de Panels pour cela, car tout est déjà fait automatiquement par TabObject. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 1 Mar 2015 - 3:15 | |
| - Citation :
- Pan% est le panel general sur lequel tout le monde s' accroche et sur le lequel je reprends les dimensions de la surface client de ma fenêtre pour le redimensionnement.
- les panG%(i%) sont les panel glissant de gauche - les panO%(i%) sont les panel glissant pour les outils - les panL%(i%) sont les panel glissant pour les librairies - le panB% est le panel du bas qui une fois habillé sera la StatutBar - le PanC% est le panel central qui sert de support au Tableur dont chaque onglet seront les supports des objets synedit. Je vois l' organisation mais tes panel implicites gérés par la dll qui servent de support aux objets Panoramic devrait êtres positionné par rapport au bandeau mais dépendre de l' objet parent pour l' affichage : ex : panel Onglet1 : parent onglet1,objet_handle_passé top onglet1, Top(bandeau)+height(bandeau) left onglet1, left(bandeau) height onglet1, height(passé par l' utilisateur)-height(bandeau) width onglet1,width(passé par utilisateur)-width(bandeau)
Dernière édition par ygeronimi le Dim 1 Mar 2015 - 3:25, édité 1 fois | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Dim 1 Mar 2015 - 3:22 | |
| Donc, je répète: PanC% fait double emploi et ne fait que perturber. Essaie la construction telle que je l'ai postée. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 1 Mar 2015 - 3:28 | |
| Oui, le PanC% je peux le virer mais si la bandeau des onglets est visible, les panel onglet sont masqués par le pan% et c' est lui qui me donne les bonnes dimensions pour tout redimensionner. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Dim 1 Mar 2015 - 4:05 | |
| Oui, je viens de voir le problème. Je vais creuser cela. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 1 Mar 2015 - 4:22 | |
| Tu devrais regarder aussi la fonction "GetFormClientMetrics" fait l' experience entre les rendus de la fonction et un les dimensions d' un panel en full_space.
Si cette fonction me renvoie les bonnes valeurs, je vire le panel pan% et les soucis sont finis...ou presque. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Dim 1 Mar 2015 - 11:02 | |
| Nouvelle version: KGF.dll V4.36 du 01/03/2015
Nouveautés: -TabObject: correction d'un bug dans TabObjectGeometry
Modules modifiés: KGF.dll
Les sources sont à jour. La doc est inchangée.
@Ygeronnimi: Ceci devrait régler ton problème de positionnement des onglets d'un objet TabObject. Chez moi, la version V3 de ton WebDav semble marcher. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Dim 1 Mar 2015 - 14:19 | |
| INFO INFO INFO INFO
A partir de maintenant, je compresse KGF.dll par l'utilitaire UPX. Gain: 66 % de place. De plus de 3 Mo, je passe à 1 Mo, sans perte de fonctionnalité ni performance.
Donc, n'ayez pas peur de la taille réduite de la DLL - c'est normal ! | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: KGF_dll - nouvelles versions Dim 1 Mar 2015 - 15:27 | |
| C'est bon ça et sur les exe Panoramic, tu as un taux équivalent ? | |
|
| |
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 Dim 1 Mar 2015 - 15:33 | |
| Et d’un coup de baguette, je viens de gagner 2Mo sur mon HD ! | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Dim 1 Mar 2015 - 15:36 | |
| Je pense. Regarde ce lien: http://upx.sourceforge.net/Le programme ne nécessite pas d'installation (portable !), est gratuit et efficace. C'est un utilitaire en ligne de commande. Je l'ai adopté et j'ai fait un fichier de commandes comme ceci: KGFupx.bat: - Code:
-
if exist KGFbis.dll del KGFbis.dll upx -oKGFbis.dll KGF.dll del KGF.dll ren KGFbis.dll KGF.dll Avec un raccourci vers ce fichier bat, ça devient un jeu d'enfant. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 1 Mar 2015 - 17:11 | |
| Je me mets à jour et je télécharge cet utilitaire aussi ! | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: Re Dim 1 Mar 2015 - 18:12 | |
| J' abandonne ! Le problème semble résolu sur la version du webdav car le parent est un panel de la taille du TabObject. Dans la version que j' ai sur mon ordi, j' ai viré ce panel qui n' était pas plus utile que cela pour le reste et là...catastrophe, le panel de l' onglet n' est plus décalé en (x,y) vers le bas droit mais vers le haut gauche. A force de se croiser cette nuit, je pense que tu n' as pu lire certaine de mes remarques. Je remets donc tout ici dans l' ordre. Le bandeau s' affiche bien et se redimensionne bien. Le problème ne concerne donc que le ou les panels associés, par la dll, aux onglets. Dans la création du TabObject, on indique la position et la dimension général sur un objet parent. Ce qu' il faut arriver à faire : - Objet parent passé soit le même pour le bandeau et les panel onglet. - Que la position des panel onglet soit le coin bas gauche du bandeau - Que les dimensions du ou des Panel soient la dimension générale du TobOject moins la hauteur du bandeau Maintenant je ne connais pas la faisabilité de la chose. Une autre solution serait de pouvoir rattacher un panel au bandeau par fonction de façon à ce que la gestion de sa position et ses dimensions soit du fais du programmeur... mais cela me parait encore plus compliqué. Ceci dit, maintenant, sans redimensionnement, le panel onglet s' affiche quelque soit l' objet parent du bandeau. C' est déjà une belle avancée. Je suis désolé de t' emm.... autant avec cet objet. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 1 Mar 2015 - 18:23 | |
| Je refait un post dès fois que l' on se croise. Peut être que le passage de quelques paramètres supplémentaires t' aiderait. Ce ne serait pas la mer à boire si on atteint l' objectif. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Dim 1 Mar 2015 - 18:27 | |
| Tu me remets un ZIP sur le WebDav stp ? Je regarde ça tout de suite. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 1 Mar 2015 - 18:29 | |
| Ok Klaus, laisses moi 2 petites minutes, il sera nommé PPE_Vs3b. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 1 Mar 2015 - 18:33 | |
| Ca y est, c' est fait ! | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Dim 1 Mar 2015 - 18:37 | |
| Merci. Je l'ai pris et je vais voir ça. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 1 Mar 2015 - 19:03 | |
| En fait, j' ai l' impression mais cela reste à vérifier que le panel onglet prend pour position 0.0 du panel parent. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Dim 1 Mar 2015 - 19:17 | |
| Non, non. Je m'étais pris les pieds dans les méandres de conversion des coordonnées écran qui snt des coordonnées virtuelles entre 0 et 65535, et les coordonnées de fenêtres qui sont mesurées en pixels, en fonction de la capacité physique de l'écran. Il y a une fonction de conversion, mais je l'ai mal employée. Mais c'est corrigé.
Recharge la DLL et essaie. Tu verras - c'est magique ! | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 1 Mar 2015 - 19:34 | |
| | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Dim 1 Mar 2015 - 19:39 | |
| Je mets la fonction de suppression d'un onglet dans la ToDo-list... | |
|
| |
Contenu sponsorisé
| Sujet: Re: KGF_dll - nouvelles versions | |
| |
|
| |
| KGF_dll - nouvelles versions | |
|