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.
KGF_dll - nouvelles versions - Page 19 Emptypar Pedro Aujourd'hui à 8:08

» Un autre pense-bête...
KGF_dll - nouvelles versions - Page 19 Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
KGF_dll - nouvelles versions - Page 19 Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
KGF_dll - nouvelles versions - Page 19 Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
KGF_dll - nouvelles versions - Page 19 Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
KGF_dll - nouvelles versions - Page 19 Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
KGF_dll - nouvelles versions - Page 19 Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
KGF_dll - nouvelles versions - Page 19 Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
KGF_dll - nouvelles versions - Page 19 Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
KGF_dll - nouvelles versions - Page 19 Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
KGF_dll - nouvelles versions - Page 19 Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
KGF_dll - nouvelles versions - Page 19 Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
KGF_dll - nouvelles versions - Page 19 Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
KGF_dll - nouvelles versions - Page 19 Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
KGF_dll - nouvelles versions - Page 19 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

 

 KGF_dll - nouvelles versions

Aller en bas 
+13
The Gamer
Nardo26
silverman
Minibug
Pedro
mindstorm
pascal10000
Jicehel
papydall
Jean Claude
JL35
Yannick
Klaus
17 participants
Aller à la page : Précédent  1 ... 11 ... 18, 19, 20 ... 29 ... 40  Suivant
AuteurMessage
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

KGF_dll - nouvelles versions - Page 19 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 19 EmptyMer 25 Fév 2015 - 21:16

Je vais prendre sur le webdav pour tout remettre en ordre... Laughing
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 19 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 19 EmptyMer 25 Fév 2015 - 21:17

Nouvelle version:
KGF.dll V4.34 du 25/02/2015

Nouveautés:
-amélioration de la fonction GetActualVersions

Modules modifiés:
KGF.dll

Les sources sont à jour. La doc est inchangée.

En cas d'absence d'internet, ou si le fichier versions.txt téléchargé est invalide, ce fichier résultant est supprimé du texte, et la fonction retourne 1. Elle ne retourne 0 donc uniquement si la liaison est bonne et si le fichier récupéré est valide.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Pedro

Pedro


Nombre de messages : 1595
Date d'inscription : 19/01/2014

KGF_dll - nouvelles versions - Page 19 Empty
MessageSujet: Problème avec kgf.dll.   KGF_dll - nouvelles versions - Page 19 EmptyMer 25 Fév 2015 - 21:34

@Klaus.

Le code suivant provoque l'erreur Not Correct Arithmetic Expression. Error in Fonction.
Merci de ton aide.
Je souhaiterais afficher la fenêtre en mode modal.


Code:
 
dim hnd%, res%

dll_on "kgf.dll"

form 1
hnd%=handle(1)
res%=dll_call2("SetMinimizeMaximize",hnd%,0)
res%=dll_call2("SetCloseBox",hnd%,0)
' Form modale
res%=dll_call3("ManageFormProperties",object_internal(1),2,1)
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

KGF_dll - nouvelles versions - Page 19 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 19 EmptyMer 25 Fév 2015 - 21:42

C' est rentré dans l' ordre.

Pour ceux que cela intéresse, le morceau de code pour la mise à jour auto dans PPE :
Code:
   dll_on kgf$

   vkgf$=string$(255," ")
   res% = DLL_call1("KGFdllVersion",adr(vkgf$))
   vkgf$=trim$(vkgf$)

   if file_exists(BDR$)=1
      BDR_handle% = dll_call1("LoadDLL",adr(BDR$))
      fonction$="BDRversion"
      res%=dll_call2("TargetDLL",BDR_handle%,adr(fonction$))
      vbdr$=string$(255," ")
      res% = dll_call1("CallDLL1",adr(vbdr$))
      vbdr$=trim$(vbdr$)
   end_if

   Fic$    = Temp$+"Versions.txt"
   res% = DLL_call1("GetActualVersions",adr(fic$))

   if file_exists(fic$)=0
      if message_warning_ok( "Vous êtes hors connexion !!!"+chr$(13)+"La vérification des mises à jour est impossible."+"Version de actuel de KGF.dll : "+vkgf$)=1
      end_if
      goto suite
   end_if

   file_open_read 1,Fic$
   file_readln 1,a_vkgf$
   file_readln 1,a_vbdr$
   file_close 1
   file_delete fic$

   if a_vkgf$<>vkgf$ or a_vbdr$<>vbdr$
' je récupère les adresses de téléchargement dans un fichier externe,
' plus facile à mettre à jour si Klaus change d' hébergeur     
      if file_exists(Maj_inf$)=1
         file_open_read 1,Maj_inf$
         file_readln 1,date_maj$
         file_readln 1,KGF_url$
         file_readln 1,BDR_url$
         file_readln 1,KGFaide_url$
         file_readln 1,BDRaide_url$
         file_close 1
      end_if

      fil1$ = Temp$+"KGF.dll"
      fil2$ = Temp$+"BDR.dll"
      fil3$ = Temp$+"KGF.chm"
      fil4$ = Temp$+"BDR_SUB.chm"

      res% = DLL_call2("DownloadFile",adr(KGF_url$),adr(fil1$))
      res% = DLL_call2("DownloadFile",adr(BDR_url$),adr(fil2$))
      res% = DLL_call2("DownloadFile",adr(KGFaide_url$),adr(fil3$))
      res% = DLL_call2("DownloadFile",adr(BDRaide_url$),adr(fil4$))

      if file_exists(BDR$)=1
         res% = dll_call1("UnLoadDLL",BDR_handle%)
      end_if

      dll_off

      if a_vkgf$<>vkgf$
         Maj_kgf()
      end_if

      if file_exists(BDR$)=1
         if a_vbdr$<>vbdr$
            Maj_bdr()
         end_if
      end_if

      if file_exists(fil1$)=1 :  file_delete fil1$ : end_if
      if file_exists(fil2$)=1 :  file_delete fil2$ : end_if
      if file_exists(fil3$)=1 :  file_delete fil3$ : end_if
      if file_exists(fil4$)=1 :  file_delete fil4$ : end_if
      if file_exists(fic$)=1  :  file_delete fic$  : end_if

      dll_on kgf$
   end_if
   Suite:

' -------------------------------------------------------------------------------------------------------------------------
SUB Maj_kgf()
   if file_exists(KGF$)=1:file_delete KGF$:End_if
   file_rename Temp$+"KGF.dll",KGF$
   if file_exists(KGF_chm$)=1:file_delete KGF_chm$:end_if
   file_rename Temp$+"KGF.chm",KGF_chm$
END_SUB

SUB Maj_bdr()
   if file_exists(BDR$)=1 then file_delete BDR$
   file_rename Temp$+"BDR.dll",BDR$
   if file_exists(BDR_chm$)=1:file_delete BDR_chm$:end_if
   file_rename Temp$+"BDR_SUB.chm",BDR_chm$
END_SUB

La partie jusqu' aux pointillés est dans une procédure plus générale d' initialisation.
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 19 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 19 EmptyMer 25 Fév 2015 - 21:45

Désolé. C'est une erreur dans la doc. Tu le vois d'ailleurs également dans le code du programme de démo que j'ai posté: ce n'est pas ManageFormProperties, mais SetFormProperties !

Je corrigerai la doc. Mais, d'ores et déjà, change le nom de la fonction et ça passera.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Pedro

Pedro


Nombre de messages : 1595
Date d'inscription : 19/01/2014

KGF_dll - nouvelles versions - Page 19 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 19 EmptyMer 25 Fév 2015 - 21:49

J'obtiens le message d'erreur suivant:

Cannot make a visible window modal.

Merci de ton aide.

Par contre, le code suivant fonctionne:

Code:
dim hnd%, res%

dll_on "kgf.dll"

form 1
hnd%=handle(1)
res%=dll_call2("SetMinimizeMaximize",hnd%,0)
res%=dll_call2("SetCloseBox",hnd%,0)
' Form modale
hide 1
res%=dll_call3("SetFormProperties",object_internal(1),2,1)
show 1

Il serait bon de prévoir dans la commande SetFormProperties un hide, puis un show.
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 19 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 19 EmptyMer 25 Fév 2015 - 21:57

Tu as raison, Pédro. Je ferai cela pour la prochaine version.
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

KGF_dll - nouvelles versions - Page 19 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 19 EmptyMer 25 Fév 2015 - 22:07

C'est fait:
1. La doc est corrigée et à jour.
2. KGF.dll est modifiée pour la fonction SetFormProperties code 2: on fait systématiquement un HIDE de la form avant d'appliquer la fonction
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Pedro

Pedro


Nombre de messages : 1595
Date d'inscription : 19/01/2014

KGF_dll - nouvelles versions - Page 19 Empty
MessageSujet: Problème de fenêtre modale.   KGF_dll - nouvelles versions - Page 19 EmptyJeu 26 Fév 2015 - 8:21

Bonjour.

Merci Klaus pour cette avancée.
Cependant, un problème subsiste.

Les objets dont le parent est la forme modale n'apparaissent pas dans cette form, excepté dans le cas où 'SetFormProperties' est placé en fin de code.

Mais cette solution ne me satisfait pas, car de nouveaux objets peuvent être ajoutés à la volée, après affichage de la form modale.

Merci de voir.

Code:
dim hnd%, res%

dll_on "kgf.dll"

form 1
hnd%=handle(1)
res%=dll_call2("SetMinimizeMaximize",hnd%,0)
res%=dll_call2("SetCloseBox",hnd%,0)

' Form modale
res%=dll_call3("SetFormProperties",object_internal(1),2,1)

button 2
parent 2,1
caption 2,"test"
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 19 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 19 EmptyJeu 26 Fév 2015 - 8:41

Certes. Il faut rappeler SetFormProperties après les rajouts, ou précisément au moment où la form devra apparaître.

Mais je te rappelle que cette technique va à l'encontre des principes de programmation sous Windows. Il est très fortement déconseillé d'interrompre un traitement quelconque poir attendre une action de l'utilisateur.

Ce qu'il faut faire:
1. créer une form normale, et faire HIDE immédiatement
2. paramétrer cette form, et placer tous les objets dessus
3. placer également un bouton "Annuler" et "Valider" sur cette form, chacun avec sa routine ON_CLICK
4. placer un ON_CLOSE sur cette form, avec son évènement
5. définit une variable indicateur du genre form_est_validee%
6. pour appeler la fenêtre, faire INACTIVE 0, puis SHOW de cette form, et faire form_est_validee%=0
7. dans l'évènement ON_CLICK du bouton Annuler, simplement faire HIDE de cette form
8. dans m'évènement "Valider" de cette form, faire HIDE de la form, et form_est_validee%=1
9. dans l'évènement ON_CLOSE de cette form, faire le traitement de validation si form_est_validée%=1

C'est ce que je fais dans mes multiples fenêtres de Synedit_Editor. Je vais te poster un extrait opérationnel, bientôt, à titre d'exemple.
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

KGF_dll - nouvelles versions - Page 19 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 19 EmptyJeu 26 Fév 2015 - 9:29

Regarde l'exemple qui suit. Le bouton "Nom..." demande la saisie d'un nom et lance le traitement du nom si le nom n'est pas vide. La fenêtre est appelée en simulation de mode normal. Toute l'astuce consiste à séparer le traitement en 2 phases:
1. traitements préalables avant la saisie
2. traitements du résultat de la saisie
Et cette deuxième phase n'est pas exécutée si la saisie est abandonnée.

Voici le code. Tout mon Synedit_Editor est construit selon ce principe:
Code:



label abandonner, valider, close100, nom

dim valide%

form 100 : hide 100 : top 100,400 : left 100,300
  on_close 100,close100
 
alpha 101 : parent 101,100 : top 101,10 : left 101,10 : caption 101,"Nom:"
edit 102 : parent 102,100 : top 102,10 : left 102,60

button 198 : parent 198,100 : top 198,100 : left 198,10 : caption 198,"Abandon"
  on_click 198,abandonner

button 199 : parent 199,100 : top 199,100 : left 199,150 : caption 199,"Valider"
  on_click 199,valider

button 10 : top 10,10: left 10,10 : caption 10,"Nom..."
  on_click 10,nom

end

abandonner:
  hide 100
  active 0
  to_foreground 0
  return
 
valider:
  if trim$(text$(102))=""
    message "Le nom manque."
    return
  end_if
  valide% = 1
  hide 100
  active 0
  to_foreground 0
  message "on traite le nom "+text$(102)
  ' ici, traitement du nom (phase 2)
  return
 
close100:
  active 0
  to_foreground 0
  return
 
nom:
  ' ici, faire éventuellement les traitements préalables (phase 1)
  valide% = 0
  inactive 0
  show 100
  return
 
  return

Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Pedro

Pedro


Nombre de messages : 1595
Date d'inscription : 19/01/2014

KGF_dll - nouvelles versions - Page 19 Empty
MessageSujet: Problème de fenêtre modale.   KGF_dll - nouvelles versions - Page 19 EmptyJeu 26 Fév 2015 - 15:28

@Klaus.

Finalement, j'ai choisi la voie la plus simple, et qui fonctionne parfaitement.

J'utilise donc inactive 0 lors de l'affichage de la form interne, puis active 0 lors de sa disparition.
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

KGF_dll - nouvelles versions - Page 19 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 19 EmptySam 28 Fév 2015 - 6:53

Petit souci avec le redimensionnement et Tab... Twisted Evil

Le "Panel" lié à l' onglet se détache de la barre des onglets
sur un redimensionnement de l' objet conteneur.

Je mets une version d' essai de PPE_Vs3 en zip sur mon webdav
C' est court, il n' y a pas encore tout dedans... Laughing
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 19 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 19 EmptySam 28 Fév 2015 - 9:43

J'ai pris le ZIP, mais je ne comprends pas bien. Au lancement, seul le premier onglet s'affiche, avec le libellé "...". Et rien n'est réactif.
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

KGF_dll - nouvelles versions - Page 19 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 19 EmptySam 28 Fév 2015 - 15:41

Nouvelle version:
KGF.dll V4.35 du 28/02/2015

Nouveautés:
-jeu de fonctions pour intercepter des évènements sur des forms Panoramic

Modules modifiés:
KGF.dll
KGF.chm


Les sources et la doc sont à jour.


Ces routines sont documentées dans la section des "fonctions de gestion des fenêtres". Elles sont au nombre de 4:
res% = dll_call1("MoveSizeWindowInitHook",handle(edit%))
res% = dll_call1("MoveSizeWindowAddHook",handle(form%))
res% = dll_call1("MoveSizeWindowRemoveHook",id%)
res% = dll_call0("MoveSizeWindowKillHook")


Voici une démo qui montre une fenêtre avec un bouton en bas à droite. On peut redimensionner cette fenêtre, et le bouton restera à sa place, sans apparition d'ascenseurs:
Code:
' test_MoveSizeWindow.bas

label MoveSize, close0

dim xMS%, res%

on_close 0,close0

form 10 : command_target_is 10 : top 10,100 : left 10,100
edit 1 : hide 1 : on_change 1,MoveSize
button 2 : top 2,height(10)-80 : left 2,width(10)-100

dll_on "KGF.dll"

res% = dll_call1("MoveSizeWindowInitHook",handle(1))
message "init: "+str$(res%)
xMS% = dll_call1("MoveSizeWindowAddHook",handle(10))
message "add: "+str$(xMS%)

end

MoveSize:
  caption 0,time$+": "+text$(1)
  top 2,height(10)-80 : left 2,width(10)-100
  return
  
close0:
  xMS% = dll_call0("MoveSizeWindowKillHook")
  return
  

Je pense que cela va résoudre pas mal de problèmes de redimensionnent de fenêtres.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

KGF_dll - nouvelles versions - Page 19 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 19 EmptySam 28 Fév 2015 - 17:18

Excellent en attendant de voir si Jack incorpore ces événements dans Panoramic, ça permettra en effet de faire des applis plus "pro"
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

KGF_dll - nouvelles versions - Page 19 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 19 EmptySam 28 Fév 2015 - 17:55

Super ces nouvelles fonctions !
Je vais vite me mettre à jour....
****************************************************************************
Pour Tab, au départ ( c' est une version en construction )  j' affiche un tab avec un onglet ( 1 pb à la fois ) 
si tu clic sur zoom+ dans le main menu le form s' agrandi et là  affraid
le panel attaché à l' onglet est complètement dissocié

je ré- utilise la fonction de géométrie dans la procédure d' agrandissement du form
et je prends bien garde de reformater le panel parent avant mais....
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 19 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 19 EmptySam 28 Fév 2015 - 18:05

Je vais voir ça...

EDIT

J'ai l'impression que, déjà au démarrage, sans avoir utilisé "Zoom +", la partie "blanche" n'est pas en lien correctement avec l'onglet. Dès le départ, il y a un problème de positionnement.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

KGF_dll - nouvelles versions - Page 19 Empty
MessageSujet: Re: Adresse de mon site   KGF_dll - nouvelles versions - Page 19 EmptySam 28 Fév 2015 - 18:41

Cela vient du fait que j' ai coupé la déclaration des objets et leur
positionnement.

je ne fais que déclarer les objet dans la sub gui
et en fin de sub, j' appelle la sub de placement et dimensionnement

Pour tab, j' ai mis dans le gui des dimensions fixes de départ mais comme en fin de sub il y a l' appel au re-positionnement-dimensionnement elle perd tout de suite la liaison.
Revenir en haut Aller en bas
JL35




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

KGF_dll - nouvelles versions - Page 19 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 19 EmptySam 28 Fév 2015 - 19:52

Citation :
j' ai mis dans le gui
on voit bien que tu descends des druides bretons.
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

KGF_dll - nouvelles versions - Page 19 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 19 EmptySam 28 Fév 2015 - 19:56

Pour un Corse, c' est un comble...
lol!
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 19 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 19 EmptySam 28 Fév 2015 - 20:02

Je suis en train de travailler sur la structure de ton programme. Le problème vient d'une confusion d'adressage, puisque tu crées un panel dans lequel tu insères le TAB, puis tu redimensionnes le tout. Or, Tab est lui-même dans un panel de façon automatique, et cela décale tout. Je laisse tomber le panel PanC% et j'envoie le TabObject directement dans Form0. Ca va déjà beaucoup mieux, mais je n'ai pas tout à fait fini. je verrai ça plus tard ce soir.

En tout cas, c'est la piste à suivre.

Une question: le panel PanB%, il sert à quoi ? Ce ne serait pas, par hasard, juste un marqueur pour marquer la place du Synedit_Editor ?
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

KGF_dll - nouvelles versions - Page 19 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 19 EmptyDim 1 Mar 2015 - 1:56

Bon, ca y est, j' ai réussi à virer le squater de mon ordi !  Laughing

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.
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 19 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 19 EmptyDim 1 Mar 2015 - 2:36

Justement, Ygeronimi ! PanC% fait doublon, car le TabObject est un panel lui-même, dans lequel la barre d'onglets est un objet indépendant de Panoramic, mais intégré dans un objet Panel tout à fait standard comme si j'avais utilisé la commande PARENT de Panoramic, puis chaque "page" onglet est un Panel standard elle-même, intégrée dans le Panel de base de l'objet TabObject, par un équivalent de PARENT. Et les objets Synedit, par la suite, sont insérés dans ces Panels individuels, chacun avec un équivalent de commande PARENT. Et si tu places le TabObject lui-même dans un Panel, tu obtiens une profondeur hiérarchique supplémentaire ce qui te pose problème lorsqu'il faut calculer les positions de chacun.

Dans ma réflexion, que je vais reprendre maintenant, je suis arrivé à ceci:
Code:
'  >>>>panel central
'   CreateObject("Panel",PanC%,Pan%,0) : width PanC%,980 : height PanC%,610
  
   Tab%     = dll_call1("CreateTabObject",handle(0)) : ' <=== Klaus au lieu de (PanC%))
   Tab_res% = dll_call6("TabObjectFunction",Tab%,5,0,3,0,0)
   Tab_res% = dll_call6("TabObjectFunction",Tab%,1,0,1,0,0)
   Tab_res% = dll_call5("TabObjectGeometry",Tab%,5,5,974,610)

'  >>>Onglet 1
   Ongle$="-----"
   Tab_res% = dll_call2("AddTabObjectTab",Tab%,adr(Ongle$))
'   Tab_res% = dll_call6("TabObjectFunction",Tab%,8,1,2,0,0)
Jusque là, tout va bien. Ensuite, pour ajuster les dimensions, je fais:
Code:
SUB ResizeForm()
   Dim_local L%,H%
   Full_space Pan% :L%=Width(Pan%) : H%=Height(Pan%)
   TB_res% = dll_call4("ModifyToolbar",2,0,0,0)
   Height PanG%(1),H%-51 :Width PanG%(1),250 : Top PanG%(1),26 :Left PanG%(1),0
   Height PanG%(2),H%-51 :Width PanG%(2),250 : Top PanG%(2),26 :Left PanG%(2),0
   Height PanG%(3),H%-51 :Width PanG%(3),250 : Top PanG%(3),26 :Left PanG%(3),0
   Height PanG%(4),H%-51 :Width PanG%(4),250 : Top PanG%(4),26 :Left PanG%(4),0

   Tab_res% = dll_call5("TabObjectGeometry",Tab%,250+5,26+5,L%-250-10,610) : ' <=== Klaus
'   Height PanB%,25      :Width PanB%,L%     : Top PanB%,H%-25 :Left PanB%,0
END_SUB

Je pense que c'est dans cette direction qu'il faut aller.

Par la suite, si tu veux faire un ajustement dynamique, il faut faire comme dans Synedit_Editor, car j'y ai le même problème:
KGF_dll - nouvelles versions - Page 19 Aa118
Dans le cas de Synedit_Editor, cela s'applique à chaque form qui contient un objet Synedit. Dans ton cas, il faut adapter ce principe à redimensionner l'objet TabObject, puis chaque objet Synedit de façon identique.

Et avec les nouvelles fonctions d'interception du redimensionnement d'une form, tu peu aisément récupérer cet évènement lorsque tu tires les bords de la fenêtre principale, et ainsi ajuster tout dynamiquement. Regarde comment ça se passe dans Panoramic_Editor, ainsi que dans le petit code de démo des nouvelles fonctions de la version 4.35 de KGF.dll.


Dernière édition par Klaus le Dim 1 Mar 2015 - 2:39, édité 1 fois
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

KGF_dll - nouvelles versions - Page 19 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 19 EmptyDim 1 Mar 2015 - 2:38

Je me serai bien basé sur : "GetFormClientMetrics"
pour récupérer la surface client mais les mesures renvoyées sont, pour le moins, bizarres

form : 750 x 1250 
zone client : 650 x 1234 
scratch

pour la largeur, 1250-1234 =16 (8+8 ) ok!
pour la hauteur, 750-650=100 (30+8+?)  Suspect

j' ai un main menu (30+8+20=58) j' ai la toolbar (30+8+20+26=84) 
Même si les deux objets sont pris en compte dans la mesure, où sont passées les 16 qui manque ?


Dernière édition par ygeronimi le Dim 1 Mar 2015 - 2:41, édité 1 fois
Revenir en haut Aller en bas
Contenu sponsorisé





KGF_dll - nouvelles versions - Page 19 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 19 Empty

Revenir en haut Aller en bas
 
KGF_dll - nouvelles versions
Revenir en haut 
Page 19 sur 40Aller à la page : Précédent  1 ... 11 ... 18, 19, 20 ... 29 ... 40  Suivant
 Sujets similaires
-
» KGF_dll - nouvelles versions
» Nouvelles versions
» Synedit_Editor - nouvelles versions
» KGF_dll - nouvelles versions
» KGF_dll - nouvelles versions

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: