Mshflexgrid (épaisseur des interlignes)

cs_Cpapy Messages postés 133 Date d'inscription mercredi 30 octobre 2002 Statut Membre Dernière intervention 25 septembre 2007 - 23 mars 2007 à 12:46
cs_Cpapy Messages postés 133 Date d'inscription mercredi 30 octobre 2002 Statut Membre Dernière intervention 25 septembre 2007 - 24 mars 2007 à 15:24
Bonjour à tous,

Cette question est relative au MshFlexgrid.

Je souhaiterais connaître la taille d'un Interligne (épaisseur en pixels par exemple)

Par avance merci.

15 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
23 mars 2007 à 13:00
Bonjour à toi,

je veux bien chercher à ta place, mais :

1) je trouve curieux que tu parle de "taille" puis "d'épaisseur" en te référant à un "interligne" : Peux-tu être précis sur ce point ?

2) curiosité personnelle : pour en faire quoi, exactement (car j'ai l'impression assez nette que je sais ce que tu cherches, mais t'égares...) ?
0
cs_Cpapy Messages postés 133 Date d'inscription mercredi 30 octobre 2002 Statut Membre Dernière intervention 25 septembre 2007
23 mars 2007 à 15:30
Si le mot Taille te gène, tu remplaces par épaisseur
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
23 mars 2007 à 15:51
Ouais...
Ce n'est ni une taille (réservée aux polices) , ni une épaisseur...(qui est tout autre chose)...
C'est tout simplement une dimension d'intervalle...entre deux lignes, exprimée en unités logiques du contexte.

Mais j'attends une réponse à la question essentielle : la seconde.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
23 mars 2007 à 15:51
Ouais...
Ce n'est ni une taille (réservée aux polices) , ni une épaisseur...(qui est tout autre chose)...
C'est tout simplement une dimension d'intervalle...entre deux lignes, exprimée en unités logiques du contexte.

Mais j'attends une réponse à la question essentielle : la seconde.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
23 mars 2007 à 17:43
Bon...
Cete intervalle :

- se mesure de la base d'une ligne à la base de la ligne suivante
- dépend directement de la taille de la police utilisée, mais aussi, hélàs, de la poice elle même

On n'aura ainsi pas le même interligne, pour une même taille (prenons 20) de police, entre la police Arial (interligne de 31 pixels) et Ms Sans Sérif (interligne de 32 pixels) et on obtiendra un interligne de 30 pixels avec la police Small Fonts

Voilà....

Mais je reste persuadé de ce que, si l'on connaissait le but à atteindre, on pourrait chercher une solution meilleure que le calcul de cet intervalle... d'où ma question antérieure...)
0
cs_Cpapy Messages postés 133 Date d'inscription mercredi 30 octobre 2002 Statut Membre Dernière intervention 25 septembre 2007
23 mars 2007 à 19:59
Merci déja pour cette réponse. Je complète. 

   J'ai un MSH avec des tailles de cellules Différentes. Lorsque je déplace ma souris sur le MSH, j'affiche une Textbox qui doit avoir la taille de la cellule sur laquelle elle "repose".  A chaque changement de cellule, je dois donc recalculer la taille de ma textbox en utilisant les instructions suivantes qui répondent parfaitement à mon besoin. "Correctif" est une constante correspondant à l'épaisseur d'un interligne.
    
Txtbox.Top        = Msh.Top + (Msh.RowHeight(0) * J1 - 1) + Correctif
TextBox.width   = Msh.ColWidth(J2) - Correctif
TextBox.height   = Msh.RowHeight(1) - Correctif
TextBox.height  = Msh.Left + Correctif

Je souhaite dans mon programme Calculer la valeur de "Correctif" 

Ps. les instructions ci-dessous ont été simplifiées, et réduites. Elles sont là uniquement pour la compréhension. Ne cherchez pas à les décortiquer, ce n'est pas le but de ma question.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
23 mars 2007 à 21:47
Bonsoir,

Je ne travaille jamais avec une MSHFlexGrid mais avec des MSFlfexGrids

Je vais donc avoir besoin de tes réponses :

1) - Quand tu écris : "Lorsque je déplace ma souris sur le MSH" parles-tu boen du seul événement MouseMove (sans donc cliquer) ?
2) si oui : es-tu, lors de cet événement, capable de "relever" à la fois le texte de la cellule et sa police (nom de la police et taille) ?

Si oui : c'est facile ! Si non : ton "correctif" sera très difficile à déterminer pour les raisons que je t'ai déjà exposées.


 


Si tu me réponds vite, tu auras une réponse immédiate.
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
23 mars 2007 à 23:58
Salut,
Il s' agit en fait de GridLines, jmfmarques, et pas de la hauteur de ligne.
C' est la ligne qui sépare deux cellules ( verticalement et horizentalement)
Elle est de 4 types pour un MsFlexGrid (Aucun,Plat,Incrusté ou Relief).
Toujours est - il que  pour chaque type elle est invariablement la même
quelque soit la taille de la police.
Je ne sais pas combien ça mesure, le fait est qu' il suffit de tester
avec différentes valeurs et voir celle qui correspond le mieux à ton
correctif. en tenant compte bien sûr du type choisi.Avec le Plat
c' est comme  avec Aucun, et avec Relief n' est pas comme avec l' incrusté...etc
Je crois que ça varie entre 0.2 et 0.5.
Testes avec ces valeurs pour voir.
0
cs_Cpapy Messages postés 133 Date d'inscription mercredi 30 octobre 2002 Statut Membre Dernière intervention 25 septembre 2007
24 mars 2007 à 09:56
Enfin quelqu'un qui a compris ma question initiale.

       Je te remercie pour cette réponse qui ne répond pas malheureusement à mon besoin car je souhaiterais calculer cette épaisseur.

      La raison en est simple, lorsque l'on transporte l'application sur un autre système, les objets qui la composent s'adaptent automatiquement à la résolution de l'écran tout comme l' épaisseur des Gridlines. Il faut donc "Calculer".

Ps: La même question d'épaisseur se pose aussi pour les Textbox,  Picturebox, Label  Etc....  (# entre la taille avec ou sans bordure) mais ce qui m'intéresse aujourd'hui c'est le Msh.

Merci encore pour ces réponses, en cherchant, vous trouverez certainement la solution
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
24 mars 2007 à 11:32
Re...,
"...en cherchant, vous trouverez certainement ..."

c' est sûr qu' on trouvera,
étant donné que toi tu t' exclus de la recherche.

1) l' episseur étant invariable,
2) Correctif=Tant * IndiceDeLaRésolution 
     le TwipsPerPixel , tu connais ?
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
24 mars 2007 à 11:48
Bonjour,

Il s'agit donc non pas de l'interligne mais des traits de séparation... !

Je vérifierai celà cet après-midi, mais il me semble bien que la réponse se trouve dans GetSystemMetrics (examen des valeurs de son unique paramètre... valeurs différentes, si je me rappelle bien, dans le cas de bordures 3D ou "plates")
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
24 mars 2007 à 13:23
Re...
Bon... moi, j'ai mes réponses, mais elles ne serviront à rien pour ce que veut faire cpapy (s'il veut le faire proprement) !
Il y a 2 épaisseurs possibles, selon le cas : 1 pixel et 3 pixels

A moins de faire du très "à peu près" (ces épaisseurs ne pouvant être modifiées sans toucher aux systemmetrics de la machine-cliente), et de modifier tout le reste (ce qui confèrera un drôle d'aspect au contrôle concerné), cpapy s'en va droit au "casse-pipe".

Si maintenant cpapy accepte d'envisager la possibilité selon laquelle jmf a peut-être vendu octopus.ocx (aujourd'hui dépassé) et sait peut-être alors de quoi il parle :
- ce n'est pas en "redimensionnant" les contrôles et polices que l'on peut valablement atteindre le but qu'il cherche à atteindre, mais bien autrement... et celà demande des heures et des heures de réflexion intense
- on trouve sur le marché, pour des prix oscillant entre une vingtaine d'euros et environ 70 euros (selons les performances) de très bons OCX qui feront tous mille fois mieux que ce qui pourrait être obtenu par un redimensionnement.

Il suffira sans doute de s'interroger sur un seul point (entre autres) : comment modifier l'occupation à l'écran d'un seul pixel, en fonction de la sésolution de l'écran ?
Réponse évidente : mission impossible ! 1 pixel est le 600ème d'un écran dans une résolution et le 1024 ème d'un écran dans une autre résolution. Comment donc faire pour que un 1024ème d'occupation devienne un 600ème d'occupation (ou le contraire) ?

Il faut donc s'y prendre bien autrement (et, en vendant, j'ai également pris l'engagement de ne plus être propriétaire, y compris du code vendu... je ne peux donc iici que guider la réflexion et en suis désolé)

Je laisse maintenant chacun à ses propres réflexions...
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
24 mars 2007 à 15:14
jmf,
excuses moi mais tu t' egares là ...


il cherche tout simplement un indice sur le quel il se baserait
pour calculer son correctif en fonction de la résolution...
et pour quand il passe d' une résolution à une autre il ne serait
pas obliger d'  intervenir sur son code.
Il veut éviter par exemple : Correctif= 1 'valeur fixe
Je crois que tu n' as pas bien saisi son but.
Il ne cherche pas à modifier quoi que ce soit.
Son but est de pouvoir définir la largeur et la hauteur de son
TextBox ou je ne sais plus quoi,de telle façon qu' il ne soit pas placé
sur le gridlines et pour ne pas masquer celui-ci. Juste ce qu' il faut pour
être sur le rebord.


Allez reposes-toi , cher ami...
t' as bossé dur cette semaine...




Amicalement
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
24 mars 2007 à 15:20
Tu croois, Chaibat ?
Bon...
Attends la suite     (moi, je la connais depuis longtemps..., même fatigué...)
0
cs_Cpapy Messages postés 133 Date d'inscription mercredi 30 octobre 2002 Statut Membre Dernière intervention 25 septembre 2007
24 mars 2007 à 15:24
Merci à ceux qui m'ont répondu avec courtoisie.

Comme la discussion risque d'être longue sur ce sujet, je clos cette demande.
0
Rejoignez-nous