IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Fonction Screen.TwipsPerPixelX avec MSOWC et OWC10


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2006
    Messages : 70
    Par défaut Fonction Screen.TwipsPerPixelX avec MSOWC et OWC10
    Bonjour à tous,

    Visual basic 6, sp6
    WinXP sp3
    Office 2003 Pro

    Je me trouve face à un problème dont je n'ai pas l'explication... Peut-être l'un d'entre vous ??

    J'ai fait plusieurs recherches mais à défaut de connaitre les mots clefs exacts je n'ai rien trouvé.

    Avec MSOWC.dll version 9 le code suivant me permet de déterminer la position "left" de la cellule du Spreasheet nommé spcMain, dans laquelle un clic a été effectué.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonCombo.Left = EventInfo.Range.Left * Screen.TwipsPerPixelX + spcMain.Left
    ce "Screen.TwipsPerPixelX" vaut 15.

    Avec OWC10.dll le code devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonCombo.Left = SpcMain.Selection.Left* Screen.TwipsPerPixelX + spcMain.Left
    mais la position "left n'a plus la même valeur car :

    ce "Screen.TwipsPerPixelX" vaut 20.

    Merci de tous renseignements sur cette fonction.

    FaroukVazaha

  2. #2
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2006
    Messages : 70
    Par défaut Fonction Screen.TwipsPerPixelX avec MSOWC et OWC10
    Bonjour à tous.

    Toujours pas de réponse.

    Ma question est :
    - stupide et dans ce cas je n'ai que ce que je mérite : un silence d'indifférence....
    - si difficile que personne ne peut répondre ????

    Merci de m'indiquer dans quelle case je doit mettre la croix.

    A +

  3. #3
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Citation Envoyé par faroukvazaha Voir le message
    Bonjour à tous.

    Toujours pas de réponse.

    Ma question est :
    - stupide et dans ce cas je n'ai que ce que je mérite : un silence d'indifférence....
    - si difficile que personne ne peut répondre ????

    Merci de m'indiquer dans quelle case je doit mettre la croix.

    A +
    Citation Envoyé par MSDN
    L'objet Screen correspond à la fenêtre Windows toute entière

    TwipsPerPixelX, TwipsPerPixelY
    Renvoient le nombre de twips par pixel pour un objet mesuré horizontalement (TwipsPerPixelX) ou verticalement (TwipsPerPixelY).

    pixel
    Abréviation de "picture element". Point qui représente la plus petite unité graphique de mesure sur un écran. La taille d'un pixel varie en fonction des dimensions de l'écran. Autrement dit, les éléments affichés voient leurs dimensions varier selon le système d'affichage et la résolution.

    twip
    Unité indépendante de l'écran, utilisée pour garantir que l'emplacement et la proportion des éléments d'écran de votre application seront les mêmes quel que soit le système d'affichage. Le twip est une unité de mesure d'écran égale à 1/20 point d'une imprimante. On compte environ 1 440 twips dans un pouce logique ou 567 twips dans un centimètre logique (la longueur d'un élément d'écran étant égale à un pouce ou à un centimètre lorsqu'il est imprimé).
    Ce qui fait que TwipsPerPixelY ou TwipsPerPixelY pour un même Screen ne devrait pas changer.

    D’où, a mon avis, l’absence de réponse.
    Citation Envoyé par faroukvazaha Voir le message
    Bonjour à tous.

    Toujours pas de réponse.

    Ma question est :
    - stupide et dans ce cas je n'ai que ce que je mérite : un silence d'indifférence....
    - si difficile que personne ne peut répondre ????

    Merci de m'indiquer dans quelle case je doit mettre la croix.

    A +
    Le 1, si tes constats on été relevé sur un écran et/ou une résolution différente.
    le 2, si tes constats on été relevé sur un même écran et/ou une résolution identique.
    Les 2 ?
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  4. #4
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2006
    Messages : 70
    Par défaut Fonction Screen.TwipsPerPixelX avec MSOWC et OWC10
    Bonjour à tous

    OS : Windows XP SP3
    Dev : VB6 SP6


    Je reviens à la charge avec mon problème de TwipsPerPixelX et de TwipsPerPixelY.

    Je reprends mon explication :

    Dans un UserControl j'ai positionné un SpeadSheet défini avec MSOWC.dll.

    Lors de la sélection d'une cellule, si la colonne correspond à la bonne définition, je fais apparaitre un ComboBox dans la cellule et celle-ci est masquée par l'image du ComboBox.
    A la perte du focus par le ComboBox je récupère la valeur sélectionnée et je la colle dans la cellule (la valeur "nulle" existe dans le ComboBox).

    La position du ComboBox est toujours correcte, même si l'ascenseur horizontal ou vertical du SpeadSheet est ou sont activés.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Private Sub SpcMain_Click()
        ' Affichage des combo de choix le cas échéant.
       On Error GoTo spcMain_Click_Error
     
        If ComboColumn(SpcMain.Selection.EntireColumn.Column) Then
            cboValues.ZOrder 0
            If SpcMain.Selection.Row > 2 And SpcMain.Selection.Row < 7 Then
                With cboValues
                    ' Remplissage des valeurs
                    Call FillValuesCombo (SpcMain.Selection.EntireColumn.Column, cboValues)
                    ' Positionnement de la liste
                    .Left = (SpcMain.Selection.Left * Screen.TwipsPerPixelX) + SpcMain.Left
                    .Top = (SpcMain.Selection.Top * Screen.TwipsPerPixelY) + SpcMain.Top
                    .Width = SpcMain.Selection.Columns.Width * Screen.TwipsPerPixelX
                    .Visible = True
                    .SetFocus
                End With
            End If
        End If
     
       On Error GoTo 0
       Exit Sub
     
    spcMain_Click_Error:
     
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure spcMain_Click of Contrôle utilisateur SMTIO"
     
    End Sub
    Cette procédure fonctionne parfaitement bien.

    Pour des raisons de rapidité d'import des données grace à SpreadSheet.Connect j'ai voulu utiliser l'OWC10 (et 11).
    Et là catastrophe !!
    Le ComboBox n'est pas positionné ou il le faut et je dois remplacer Screen.TwipsPerPixelX et Screen.TwipsPerPixelY par la valeur 20 pour que le ComboBox soit mis à la bonne position.
    Mais si les ascenseur sont bougés : c'est fichu.

    Merci à ceux qui accepteront de me lire et de m'apporter une piste ou, l'idéal, une solution.

    faroukvazaha

  5. #5
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Arf, c'est pas du VB6! C'est du VBA, le language de programmation livré avec la suite Office. Je dirais même qu'il s'agit de la version d'Excel.
    Tu n'es pas dans le bon Forum : http://www.developpez.net/forums/f28...e/general-vba/

  6. #6
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2006
    Messages : 70
    Par défaut Fonction Screen.TwipsPerPixelX avec MSOWC et OWC10
    Bonjour,
    Merci d'avoir passé du temps à répondre, mais peut-être en aurait-il fallu un peu plus pour LIRE complètement la question ?

    Citation Envoyé par Delbeke Voir le message
    Arf, c'est pas du VB6! C'est du VBA, le language de programmation livré avec la suite Office. Je dirais même qu'il s'agit de la version d'Excel.
    Tu n'es pas dans le bon Forum : http://www.developpez.net/forums/f28...e/general-vba/
    J'ignorais que l'on pouvait créer un "Contrôle Utilisateur" en VBA Excel.

    Donc il s'agit de l'utilisation de OWC.dll (qui n'est pas Excel) dans VB6.

    Merci à ceux qui pourraient me répondre.

Discussions similaires

  1. EXCEL : fonction SOMME.SI avec 2 critères
    Par repié dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 17/03/2016, 17h10
  2. Fonction ASP: problème avec popup
    Par claralavraie dans le forum ASP
    Réponses: 6
    Dernier message: 07/02/2006, 10h31
  3. équivalence fonction ROWNUM (oracle) avec MySQL
    Par pblb62 dans le forum SQL Procédural
    Réponses: 8
    Dernier message: 23/01/2006, 13h50
  4. screen.availWidth avec la methode open()
    Par niro75 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 11/08/2005, 14h59
  5. Réponses: 5
    Dernier message: 12/01/2005, 20h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo