FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» KGF_dll - nouvelles versions
par Jicehel Hier à 23:19

» Ras la casquette...
par Yannick Hier à 18:48

» Problème avec 'instr_last'.
par Yannick Hier à 18:42

» Jeu de l'oie stratégique
par jjn4 Jeu 23 Mar 2017 - 20:46

» Suite aux dernières commandes
par Yannick Jeu 23 Mar 2017 - 16:00

» Aide (imprimable) sur PANORAMIC avec exemples
par papydall Jeu 23 Mar 2017 - 14:28

» Jeu de l'OIE électronique
par jjn4 Mer 22 Mar 2017 - 18:26

» Jeu de l'oie interplanétaire
par jean_debord Mar 21 Mar 2017 - 11:11

» Problème de création d'exécutable.
par Yannick Mar 21 Mar 2017 - 5:21

» Un bug avec USER_EVENT ?
par Klaus Lun 20 Mar 2017 - 17:41

» Bienvenue Cherrie merrie !
par Yannick Lun 20 Mar 2017 - 3:55

» Bienvenue à v.rousseau
par Yannick Dim 19 Mar 2017 - 16:26

» Panoramicien, es-tu là ?
par papydall Dim 19 Mar 2017 - 3:48

» Charger des icones sans fichiers...
par Laurent (Minibug) Sam 18 Mar 2017 - 21:52

» Compilateur FBPano
par papydall Jeu 16 Mar 2017 - 14:50

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mars 2017
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier

Partagez | 
 

 les fenêtres sous W8 avec KGF.dll

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Jean Claude

avatar

Nombre de messages : 4681
Age : 62
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: les fenêtres sous W8 avec KGF.dll   Jeu 26 Fév 2015 - 13:27

@Klaus, je viens de lire une intervention de Jicehel sur le poste de JL35 (Dessin).

Peux-tu confirmer qu'avec KGF.dll on a pas besoin de ce préoccuper de la taille des fenêtres quelque-soit la version de Windows.

Si c'est le cas, peux-tu nous donner un exemple de mise en oeuvre car c'est embêtant de devoir reprendre tous les codes fournit par les Panoramiciens. (surtout ceux en phase de test).

Merci d'avance.

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: les fenêtres sous W8 avec KGF.dll   Jeu 26 Fév 2015 - 13:42

Oui, on peut. Mais on peut également le faire en 100 % Panoramic. Voici comment:
Code:
dim bord%, titre%

form 1
memo 2 : parent 2,1
  full_space 2  : font_name 1,"Courier"
item_add 2,"fenêtre normale:"
item_add 2,"  Largeur utile: "+str$(width(1))
item_add 2,"  Hauteur utile: "+str$(height(1))
item_add 2,"mémo:"
item_add 2,"  Largeur utile: "+str$(width(2))
item_add 2,"  Hauteur utile: "+str$(height(2))
bord% = (width(1)-width(2))/2
item_add 2,"bords gauche, bas, droit: "+str$(bord%)
titre% = height(1) - height(2) - bord%
item_add 2,"titre: "+str$(titre%)

full_space 1
item_add 2,""
item_add 2,"fenêtre plein écran:"
item_add 2,"  Largeur utile: "+str$(width(1))
item_add 2,"  Hauteur utile: "+str$(height(1))
item_add 2,"mémo:"
item_add 2,"  Largeur utile: "+str$(width(2))
item_add 2,"  Hauteur utile: "+str$(height(2))
bord% = (width(1)-width(2))/2
item_add 2,"bords gauche, bas, droit: "+str$(bord%)
titre% = height(1) - height(2) - bord%
item_add 2,"titre: "+str$(titre%)

item_add 2,""
item_add 2,"dimensions écran:"
item_add 2,"  Largeur utile: "+str$(screen_x)
item_add 2,"  Hauteur utile: "+str$(screen_y)

end

Voici le résultat chez moi:
Code:
fenêtre normale:
  Largeur utile: 320
  Hauteur utile: 240
mémo:
  Largeur utile: 304
  Hauteur utile: 201
bords gauche, bas, droit: 8
titre: 31

fenêtre plein écran:
  Largeur utile: 1366
  Hauteur utile: 768
mémo:
  Largeur utile: 1350
  Hauteur utile: 729
bords gauche, bas, droit: 8
titre: 31

dimensions écran:
  Largeur utile: 1366
  Hauteur utile: 768

On utilise width(n_form) et height(n_form) pour avoir les mesures extérieures de la form dont on veut déterminer l'épaisseur des bords, ou alors:
Code:
res% = DLL_call5("GetFormMetrics",hnd%,adr(gauche%),adr(haut%),adr(largeur%),adr(hauteur%)
.
Puis, on utilise
Code:
res% = DLL_call5("GetFormClientMetrics",hnd%,adr(gauche%),adr(haut%),adr(largeur%),adr(hauteur%))
pour avoir les dimensions intérieures.
Ensuite, il suffit de savoir que le bord gauche est identique au bord droit, et donc de dimension (largeur totale - largeur intérieure)/2.
Le bord bas est identique au bords droite et gauche. Donc, la hauteur de la barre de titres est hauteur extérieure - hauteur intérieure - largeur du bord.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jean Claude

avatar

Nombre de messages : 4681
Age : 62
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: les fenêtres sous W8 avec KGF.dll   Jeu 26 Fév 2015 - 15:07

C'est tellement simple, comment veux-tu que l'on y pense? lol!

Il suffit tout simplement de créer un mémo en full_space et qui soit l'enfant du form. Puis on fait les calculs des bords et du bandeau, et le tour est joué.

Dans ton exemple, tu qualifies de largeur "utile" le width du form, je dirais qu'il s'agit de la largeur totale (bords compris).
Mais peu importe, j'ai compris la démarche.

Merci et A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: les fenêtres sous W8 avec KGF.dll   Jeu 26 Fév 2015 - 15:16

Effectivement. C'est le copier/coller...

Voici la correction du libellé:
Code:




dim bord%, titre%

form 1
memo 2 : parent 2,1
  full_space 2  : font_name 1,"Courier"
item_add 2,"fenêtre normale:"
item_add 2,"  Largeur totale: "+str$(width(1))
item_add 2,"  Hauteur totale: "+str$(height(1))
item_add 2,"mémo:"
item_add 2,"  Largeur utile: "+str$(width(2))
item_add 2,"  Hauteur utile: "+str$(height(2))
bord% = (width(1)-width(2))/2
item_add 2,"bords gauche, bas, droit: "+str$(bord%)
titre% = height(1) - height(2) - bord%
item_add 2,"titre: "+str$(titre%)

full_space 1
item_add 2,""
item_add 2,"fenêtre plein écran:"
item_add 2,"  Largeur totale: "+str$(width(1))
item_add 2,"  Hauteur totale: "+str$(height(1))
item_add 2,"mémo:"
item_add 2,"  Largeur utile: "+str$(width(2))
item_add 2,"  Hauteur utile: "+str$(height(2))
bord% = (width(1)-width(2))/2
item_add 2,"bords gauche, bas, droit: "+str$(bord%)
titre% = height(1) - height(2) - bord%
item_add 2,"titre: "+str$(titre%)

item_add 2,""
item_add 2,"dimensions écran:"
item_add 2,"  Largeur utile: "+str$(screen_x)
item_add 2,"  Hauteur utile: "+str$(screen_y)

end


et le résultat:
Code:
fenêtre normale:
  Largeur totale: 320
  Hauteur totale: 240
mémo:
  Largeur utile: 304
  Hauteur utile: 201
bords gauche, bas, droit: 8
titre: 31

fenêtre plein écran:
  Largeur totale: 1366
  Hauteur totale: 768
mémo:
  Largeur utile: 1350
  Hauteur utile: 729
bords gauche, bas, droit: 8
titre: 31

dimensions écran:
  Largeur utile: 1366
  Hauteur utile: 768
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jean Claude

avatar

Nombre de messages : 4681
Age : 62
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: les fenêtres sous W8 avec KGF.dll   Jeu 26 Fév 2015 - 15:35

Du coup, j'en ai fait une procédure à placer avant la création des objets, pour renseigner les 2 variables bord% et Bandeau% qui permettrons d'ajuster les futurs objets.

Code:
dim bord%, bandeau%
detection_des_dimensions_des_fenetres()
print " largeur d'un bord: " + str$(bord%)
print " hauteur du bandeau: " + str$(bandeau%)

END
'===============================================
SUB detection_des_dimensions_des_fenetres()
  full_space 0
  if object_exists(1)=0
      memo 1 : full_space 1
      bord% = (width(0)-width(1))/2
      bandeau% = height(0) - height(1) - bord%
      delete 1
      ' hide 0:' à mettre en service suivant que.....
  else
      message "La SUB detection_des_dimensions_des_fenetres() doit être applée en priorité" : terminate
  end_if
END_SUB


A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: les fenêtres sous W8 avec KGF.dll   Jeu 26 Fév 2015 - 16:10

Très bien !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jicehel

avatar

Nombre de messages : 5793
Age : 44
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: les fenêtres sous W8 avec KGF.dll   Jeu 26 Fév 2015 - 17:21

Super, ça c'est à utiliser dans tous nos programmes. Il va falloir que l'on en prenne l'habitude car on test tous en règle générale sous un seul environnement de travail, ne tenant pas compte des frivolités de Bill...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7304
Age : 45
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 26 Fév 2015 - 18:17

Juste une remarque :

W7 :

Vous pouvez placer un objet avec un Top ou Left  <0
si vous le déclarez >0 vous avez droit à des ascenseurs.
Mais, si vous placer un Panel et que l' objet devient enfant de ce Panel,
il n' y aura pas les ascenseurs.

W8 :

Vous pouvez placer un objet avec un Top ou Left  <0
si vous le déclarez >0 vous avez droit à des ascenseurs.
Contrairement à W7, si vous placer un Panel et que l' objet devient enfant de ce Panel,
il y aura les ascenseurs.
  

C' est entre autre le problème que rencontre Jean Claude avec PPE et les panneaux glissants
qui s' ouvrent de la droite vers la gauche (Mots clef et Procédures ).
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: les fenêtres sous W8 avec KGF.dll   Jeu 26 Fév 2015 - 18:33

J'ai complété un pro le code de détection, pour tenir compte de la taille du menu système que Panoramic affiche si demandé:
Code:
dim bord%, titre%, menu%

memo 2
  full_space 2  : font_name 2,"Courier"
item_add 2,"fenêtre normale:"
item_add 2,"  Largeur totale: "+str$(width(0))
item_add 2,"  Hauteur totale: "+str$(height(0))
item_add 2,"mémo:"
item_add 2,"  Largeur utile: "+str$(width(2))
item_add 2,"  Hauteur utile: "+str$(height(2))
bord% = (width(0)-width(2))/2
item_add 2,"bords gauche, bas, droit: "+str$(bord%)
titre% = height(0) - height(2) - bord%
item_add 2,"titre: "+str$(titre%)

full_space 0
item_add 2,""
item_add 2,"fenêtre plein écran:"
item_add 2,"  Largeur totale: "+str$(width(0))
item_add 2,"  Hauteur totale: "+str$(height(0))
item_add 2,"mémo:"
item_add 2,"  Largeur utile: "+str$(width(2))
item_add 2,"  Hauteur utile: "+str$(height(2))
bord% = (width(0)-width(2))/2
item_add 2,"bords gauche, bas, droit: "+str$(bord%)
titre% = height(0) - height(2) - bord%
item_add 2,"titre: "+str$(titre%)

main_menu 10 : sub_menu 11 : parent 11,10 : caption 11,"test"
item_add 2,""
item_add 2,"fenêtre plein écran avec menu:"
item_add 2,"  Largeur totale: "+str$(width(0))
item_add 2,"  Hauteur totale: "+str$(height(0))
item_add 2,"mémo:"
item_add 2,"  Largeur utile: "+str$(width(2))
item_add 2,"  Hauteur utile: "+str$(height(2))
bord% = (width(0)-width(2))/2
item_add 2,"bords gauche, bas, droit: "+str$(bord%)
menu% = height(0) - height(2) - titre% - bord%
item_add 2,"titre: "+str$(titre%)
item_add 2,"menu: "+str$(menu%)

item_add 2,""
item_add 2,"dimensions écran:"
item_add 2,"  Largeur utile: "+str$(screen_x)
item_add 2,"  Hauteur utile: "+str$(screen_y)

end


On voit qu'il faut faire les mesures 2 fois. La première fois, on en déduit la hauteur de la barre de titre. La deuxième fois, après ajout du menu, on calcule la taille de la barre de menus, en tenant compte de la taille de la barre de titres obtenue au premier passage. Bien sûr, ceci ne s'applique qu'à le form 0, car les autres ne peuvent pas avoir de menu, en Panoramic.

@Ygeronimi:
Sous W8, si tu places un Panel dans une form, de sorte que le panel tienne dans la form, et que la form tienne dans l'écran, il n'y a pas d'ascenseurs. Si maintenant tu ajoutes un memo dans le panel avec des dimensions qui dépassent celles de la form et du panel, il n'y a toujours pas d'ascenseur. Le panel bloque ça. Démonstration:
Code:
panel 10 : full_space 10
memo 11 : parent 11,10
width 11,600
height 11,600
end
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

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

MessageSujet: Re: les fenêtres sous W8 avec KGF.dll   Jeu 26 Fév 2015 - 18:48

Et voici comment on peut utiliser cette astuce pour faire une fenêtre avec menu système et une toolbar, entièrement en Panoramic, sans DLL:
Code:
' ToolbarEnPanoramic.bas

dim bord%, titre%, menu%


memo 2 : full_space 2
bord% = (width(0) - width(2))/2
titre% = height(0) - height(2) - bord%
delete 2

main_menu 10 : sub_menu 11 : parent 11,10 : caption 11,test
memo 2 : full_space 2
bord% = (width(0) - width(2))/2
menu% = height(0) - height(2) - titre% - bord%
delete 2

' créer une toolbar
panel 1 : width 1,width(0) - 2*bord% : height 1,30
  color 1,255,255,0

' créer un panel pour le reste de la fenêtre
panel 2 : width 2,width(1) : height 2,height(0)-30-titre%-menu%-bord%
  top 2,30
 
' peupler la barre de menus
button 101 : parent 101,1 : left 101,5 : top 101,2 : width 101,40
  caption 101,"New"
combo 102 : parent 102,1 : left 102,left(101)+width(101)+10 : top 102,5
  font_names_load 102
' etc

end

L'inconvénient, c'est que la toolbar ne s'adapte pas automatiquement si l'on redimensionne la fenêtre. Mais, on ne peut pas tout avoir, non ? Notons au passage que j'ai créé, après ma toolbar, un panel qui prend tout le reste de l'espace visible de la form, et dans lequel on peut placer les objets.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7304
Age : 45
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 26 Fév 2015 - 18:59

@ Klaus,

Je ne parlais pas de taille (width et Height ) mais d' emplacement (Top et Left ).

Pour alimenter votre débat sur les tailles de fenêtre.
Cette nuit,  j' ai voulu commencer à réfléchir sur une fenêtre à deux dimensions
mais je me trouve confronté à un souci de retour à la taille d' origine.
L' agrandissement se passe bien mais le retour.....

Voilà le code que j' ai essayé :
Code:
Dim No%
Dim MM%  :no%=no%+1 :MM%  =no%
Dim SM%  :no%=no%+1 :SM%  =no%
Dim PanG% :no%=no%+1 :PanG%=no%
Dim PanC% :no%=no%+1 :PanC%=no%
Dim PanD% :no%=no%+1 :PanD%=no%
Dim PanB% :no%=no%+1 :PanB%=no%
Dim BUT1% :no%=no%+1 :BUT1%=no%
Dim PICT% :no%=no%+1 :PICT%=no%

Dim Etat_F0%

Label Clic

Height 0,750 : Width 0,1250 : top 0,(screen_y-height(0))/2 : Left 0,(screen_x-width(0))/2
color 0,0,250,255

' Main menu
  Main_menu MM%
  Sub_menu SM% : Parent SM%,MM% : Caption SM%,"Fichier"
' Panel de gauche
  Panel PanG%
' Panel central
  Panel PanC%
  Button But1% : Parent BUT1%,PanC% : On_Click BUT1%,Clic
' Panel de droite
  Panel PanD%
' Panel du bas
  Panel PanB%
  color PanB%,228,228,228
  Picture Pict%: Parent PICT%,PanB% : Color Pict%,0,0,0
Placement()
end

Clic:
  If Etat_F0%=0
      Etat_F0%=1
      Full_space 0
  else
      Etat_F0%=0
      Height 0,750
      Width 0,1250
      top 0,(screen_y-height(0))/2
      Left 0,(screen_x-width(0))/2
  end_if
      Placement()
return

SUB Placement()
  dim_local L%,H%
  L%=Width(0) : H%=Height(0)
  Height PanG%,H%-88:Width PanG%,250    : Top PanG%,0    :Left PanG%,0
  Height PanC%,H%-96:Width PanC%,L%-520 : Top PanC%,3    :Left PanC%,252
  Height PanD%,H%-88:Width PanD%,250    : Top PanD%,0    :Left PanD%,L%-266
  Height PanB%,30  :Width PanB%,L%-16  : Top PanB%,H%-88 :Left PanB%,0
  Height PICT%,28  :Width PICT%,28    : Top PICT%,1    :Left PICT%,Width(PanB%)-Width(PICT%)-1
END_SUB


Dernière édition par ygeronimi le Jeu 26 Fév 2015 - 19:01, édité 1 fois (Raison : Oups !...erreur de source, j' ai modifié)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7304
Age : 45
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 26 Fév 2015 - 19:02

J' ai changé le code au dessus, je me suis planté de source... Embarassed
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: les fenêtres sous W8 avec KGF.dll   Jeu 26 Fév 2015 - 19:28

Je ne vois pas de différence. Et aussi bien en état normal qu'en étal full_space, il y a des ascenseurs...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jean Claude

avatar

Nombre de messages : 4681
Age : 62
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: les fenêtres sous W8 avec KGF.dll   Jeu 26 Fév 2015 - 19:30

@Ygeronimi,

je viens de tester ton programme et tel quel j'ai les 2 ascenseurs.

J'ai retiré 1 pixel à la valeur H% dans la SUB placement() en ligne 51.
Code:
  L%=Width(0) : H%=Height(0)-1
Cela suffit à faire disparaître les 2 ascenseurs.

En fait il s'agit de la différence entre W8 qui a un bandeau de 31 Px et W7 qui lui a 30 Px.
comme les bords sont identiques sous W7 et W8 il n'y pas besoin de changer L% dans la SUB placement()

Conclusion: Si tu commences le programme par une détection des dimensions bord% et bandeau% à l'aide de la SUB que j'ai fourni plus haut, tu peux rectifier la ligne 51.
il faut faire une comparaison entre 30 et bandeau% et aussi entre 8 et bord%, puis retirer ou ajouter le résultat suivant qu'il est négatif ou pas.

Je viens de rééditer car j'étais parti en erreur.


A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7304
Age : 45
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 26 Fév 2015 - 19:45

Je crois qu' on a pas fini de tourner bourrique entre W7 et W8  Laughing
Je crois qu' il serait bien de mettre notre OS dans les signatures sur le forum.
On verrait tout de suite sur quel OS est le narrateur.

Je vais regarder ta sub de près Jean Claude
chez moi le code me met les ascenseurs qu' au retour en taille d' origine.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 4681
Age : 62
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: les fenêtres sous W8 avec KGF.dll   Jeu 26 Fév 2015 - 20:06

Moi, je pense que Microsoft a mis 1 pixel de plus dans le bandeau de W8, juste pour nous faire ch..r Razz
lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7304
Age : 45
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 26 Fév 2015 - 20:12

Mouep!...ben, c' est réussi... Rolling Eyes
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5793
Age : 44
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: les fenêtres sous W8 avec KGF.dll   Jeu 26 Fév 2015 - 22:05

Je suis assez d'accord ils nous font c..r à toujours changer pour rien. Ils pourraient se garder des choses inchangées tant qu'ils n'ont pas de bonnes raisons de le faire, mais pour ça encore faudrait-il qu'ils intéressent à leurs clients ...


Dernière édition par Jicehel le Ven 27 Fév 2015 - 0:45, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 4681
Age : 62
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: les fenêtres sous W8 avec KGF.dll   Jeu 26 Fév 2015 - 22:58

Hé oui, mais comme ils sont pratiquement en situation de monopole, leurs clients ils s'en tapent.

J'assume ce début de pollution, vu que c'est mon sujet. Very Happy Razz

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: les fenêtres sous W8 avec KGF.dll   Ven 27 Fév 2015 - 2:38

Je reprends mon idée de la toolbar en Panoramic. J'ai poussé le code un peu plus loin, en peuplant la toolbar et la partie restante de la fenêtre, en les ajustant automatiquement lorsqu'on tire les bords de la fenêtre en agrandissant ou en réduisant. Je pense que c'est à peu près le mieux qu'on puisse faire, en Panoramic seul:
Code:
' ToolbarEnPanoramic.bas

label tick3, sortie

dim bord%, titre%, menu%, w0%, h0%

memo 2 : full_space 2
bord% = (width(0) - width(2))/2
titre% = height(0) - height(2) - bord%
delete 2

main_menu 10 : sub_menu 11 : parent 11,10 : caption 11,test
memo 2 : full_space 2
bord% = (width(0) - width(2))/2
menu% = height(0) - height(2) - titre% - bord%
delete 2

' créer une toolbar
panel 1 : width 1,width(0) - 2*bord% : height 1,30
  color 1,255,255,0

' créer un panel pour le reste de la fenêtre
panel 2 : width 2,width(1) : height 2,height(0)-30-titre%-menu%-bord%
  top 2,30
 
' peupler la barre de menus
button 101 : parent 101,1 : left 101,5 : top 101,2 : width 101,40
  caption 101,"New"
combo 102 : parent 102,1 : left 102,left(101)+width(101)+10 : top 102,5
  font_names_load 102
' etc

' peupler le panel normal
  button 21 : parent 21,2 : top 21,10 : left 21,width(2)-100 : caption 21,"Sortie"
    on_click 21,sortie
  list 22 : parent 22,2 : top 22,10 : left 22,10
    width 22,width(2)/2 : height 22,height(2)-20
timer 3 : timer_interval 3,200 : on_timer 3,tick3
end

tick3:
  ' cette routine sert à redimensionner tout ce qui doit l'être
  timer_off 3
  if (w0%<>width(0)) or (h0%<>height(0))
    width 1,width(0) - 2*bord%              - 20
    width 2,width(1)                        - 20
    height 2,height(0)-30-titre%-menu%-bord% - 20
    width 1,width(1)  + 20
    width 2,width(2)  + 40
    height 2,height(2) + 20
    w0% = width(0)
    h0% = height(0)
    left 21,width(2)-100
    width 22,width(2)/2 : height 22,height(2)-20
  end_if
  timer_on 3
  return
 
sortie:
  terminate
 
 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jicehel

avatar

Nombre de messages : 5793
Age : 44
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: les fenêtres sous W8 avec KGF.dll   Ven 27 Fév 2015 - 4:01

Ca marche bien mais on voit les clignotages des ascenceurs et des objets. Même en baissant le délais du timer (ou alors il faut faire une boucle très courte de 20 par exemple dans le timer mais bonjour la consommation CPU pour pas grand chose ...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7304
Age : 45
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 27 Fév 2015 - 4:46

Moi, je me pose une question, comment les autres langages interceptent ce changement de taille de la fenêtre ?
Pour les spécialistes, n' y a t il pas une fonction que l' on pourrait subtiliser que ce soit à User32 ou une autre source ?
scratch

Edit : j' ai trouvé ceci mais je n' y comprends rien :http://supertos.free.fr/supertos.php?page=495
et ceci : http://codes-sources.commentcamarche.net/faq/345-base-de-la-creation-d-une-fenetre-en-api-windows-c#modifier-et-tester-le-comportement-d-une-fenetre
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: les fenêtres sous W8 avec KGF.dll   Ven 27 Fév 2015 - 5:19

Je sais comment on fait. Je le fais bien dans Synedit_Editor, en redimensionnant automatiquement l'objet Synedit lorsque je modifie la taille de la fenêtre. Mais pour cela, il faut intercepter et traiter directement quelques évènements disponibles sur les form, mais non accessibles en Panoramic. En Delphi,, je sais faire...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7304
Age : 45
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 27 Fév 2015 - 5:42

Tu avais fais une fonction qui surveillait une zone pour y intercepter un clic.
Cette fonction ne pourrait elle pas s' adapter en renvoyant un message spéciale 
en cas de changement de taille et prenant le form pour zone ? 
même si ce n' est que la partie "client".


JACK !!!!, il est temps d' y faire quelque chose... Laughing
Même pour les jeux, cela peut être intéressant de passer en plein écran...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: les fenêtres sous W8 avec KGF.dll   

Revenir en haut Aller en bas
 
les fenêtres sous W8 avec KGF.dll
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Fenêtres qui s'ouvrent toutes seules sur internet sous IE et Mozzilla
» fenêtres publicitaires
» [Résolu] Fenêtres publicitaires intempestives
» Centrer les fenêtres
» Est til possible d'arrondir les angles de ces fenêtres

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC 32 bits :: Présentation et bavardage-
Sauter vers: