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 :

[VB6] Rotation d'un contrôle


Sujet :

VB 6 et antérieur

  1. #21
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    tu est dure la jmfmarques

  2. #22
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 332
    Points : 718
    Points
    718
    Par défaut
    donc voilà ce que je voulais dire jmf.

    Par exemple :
    coin inférieur gauche : controle.left(X), controle.top + controle.height (Y)

    comment dire que le coin inférieur gauche vaut la valeur que je veux.
    Xavier

  3. #23
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Citation Envoyé par pickwick_75
    tu est dure la jmfmarques
    C'était là la condition, bien évidemment (voir plus haut), sinon, ce n'est plus un contrôle, mais le container d'un contrôle !

    Pour répondre à Asdorve :
    où est le problème ?
    X1 = controle.left
    Y1 = controle.top
    X2 = X1 recalculé
    Y2 = Y1 recalculé
    controle.move X2,Y2 déplacera le coin supérieur gauche à ses nouvelles coordonnées
    Kif Kif pour chaque coin

  4. #24
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 332
    Points : 718
    Points
    718
    Par défaut
    Kif Kif pour chaque coin, à voir...

    j'en suis pas si sur.
    Xavier

  5. #25
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Moi oui, j'en suis sur....
    Mais tu ne pourras pas déterminer une ordonnée différente pour un coin et l'autre(en haut... ou en bas), bien évidemment, avec un contrôle.

    C'est COMPLETEMENT, qu'il te faudrait en CREER un !
    En d'autrres termes, tu ne peux utiliser un contrôle existant de VB pour lui donner une rotation qui le conduirait à être "incliné....
    C'est ce que je te dis depuis le début !
    Rest à savoir si tu te lances dans une aventure de CREATION de contrôle, autrement qu'en utilisant une simple image de ce contrôle, placée dans un autre contrôle (un container) qui, lui, resterait parallèle à ta Form...(ce placement d'une image ne serait pas un contrôle et est donc à écarter...)

    Je te le dis de suite : tu vas... c'est sûr... te casser beaucoup de dents ...!

  6. #26
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 332
    Points : 718
    Points
    718
    Par défaut
    je m'en doutais, j'avais compris.

    Mais pour ce qui est d'un shape rectangle, c'est la même chose?
    Xavier

  7. #27
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Pour un Shape (contrôle, donc) rectangle : kif kif

    Pour un dessin rectangle (avec Line) , c'est autre chose mais ce n'est pas un contrôle.

  8. #28
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 332
    Points : 718
    Points
    718
    Par défaut
    justement, pour line (je sais que ce n'est pas un contrôle) je n'arrive pas à l'utiliser, je reprends les ex de l'aide en ligne, mais ça n'affiche rien...
    Xavier

  9. #29
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Tu veux construire un rectangle avec Line ?
    Ok, Ok, en voilà un parallèle aux bords de la Form :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Command1_Click()
     Me.Line (100, 100)-(1000, 1000), , B
    End Sub
    et.... que vas-tu faire avec çà ?
    Le prochain message sera surement pour t'expliquer comment et avec quelle force tu vas rentrer dans le mur (J'ai essayé, quand j'étais moins vieux... et suis arrivé à certaines conclusions... après beaucoup de vain entêtement...
    J'ai laissé "courir" ce sujet car il m'apparait utile pour tous d'apprendre à trravers lui....

  10. #30
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 332
    Points : 718
    Points
    718
    Par défaut
    ok, mais tu vois, je sais que je vais droit dans le mur, mais ça me permet de tester les limites de vb...
    Xavier

  11. #31
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    mais ça me permet de tester les limites de vb
    Et tout est là ... sauf un point : pourquoi VB a-t-il décidé de procéder ainsi ?
    Il y a une seule réponse : suite au prochain numéro (après que tu auras essayé de la deviner...)

  12. #32
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 332
    Points : 718
    Points
    718
    Par défaut
    je dirais: pour embêter les gens, ou pour obliger un développeur à créer ces propres contrôles,

    ou les développeurs de chez Microsoft ont oublié ses propriétés.

    Peut être que la réponse est évidente, mais je ne la vois pas comme ça du premier abord.
    Xavier

  13. #33
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    OK !
    Je reviendrai ce soir avec des idées plus claires pour exposer ici mes conclusions d'après plus de 14 mois de réflexions diverses... sans en faire un roman (de façon synoptique).
    Ce sera intéressant... Promis !

  14. #34
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 332
    Points : 718
    Points
    718
    Par défaut
    as-tu les idées claires maintenant? il est 20:22
    Xavier

  15. #35
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Claires ?
    A peu près... enfin... comme toujours après un bon repas ...
    On y va donc :

    Sans être dans les secrets de VB, les diverses manipulations qu'il m'a été donné de faire m'ont conduit aux conclusions suivantes :

    Lorsque l'on clique sur un contrôle VB, on clique en réalité sur l'écran, y compris si le contrôle se trouve dans un container lui même contenu, directement ou par autre(s) container(s) interposé(s), sur l'écran.

    Comment VB sait-il que l'on a "cliqué sur un contrôle VB" ? Tout simplement par ce que, à la construction par l'utilisateur (stade projet), VB a mémorisé les différentes coordonnées du contrôle . Lorsque l'on clique sur l'écran (donc), VB va rechercher si ce clic correspond à l'une des zones "contrôles" dont il a mémorisé les coordonnées et va décider, en connaissance de cause, que l'on a clliqué sur l'un de ses contrôles, bien identifié.

    Si ces "images"/contrôles (car ce ne sont que des images), sont rectangulaires et que, de surcroît, ces rectangles sont parralèles à l'écran, il lui suffit de connaître les coordonnées des 4 coins (ils les a gardées en mémoire). Dès lors, il sait, sans grands calculs, si l'on est à l'intérieur de l'un de ses rectangles......un point de coordonnées Px,Py est à l'intérrieur d'un rectangle x1,Y1 - x2,Y2 - x3,Y3 - x4,Y4, en effet, si les conditions suivantes sont réunies :
    x1= x3 < px < x2 = x4
    y1 = y2 < py < y3 = y4

    Cela lui demande peu d'exercice...
    Considéropns maintenant l'hypothèse de contrôles non rectangulaires et surtout non parallèles à l'écran :
    Les calculs deviendraient alors bien plus complexes pour déterminer si oui ou non on se trouve à l'intérieur d'un polygone, avec pour résultat, une lenteur considérablement accrue....

    VB aurait toutefois pu le faire... et le proposer.... il a préféré s'abstenir..., et ce d'autant qu'il lui aurait fallu, en plus, ajouter des lenteurs dûes à l'affichage "incliné" de textes.

    VB n'ayant pas voulu, peut-on se substituer à lui pour créer de nouveaux contrôles "inclinables" ? Oui, mais à quel prix ? Celui d'adloindre un fichier contenant tous ces contrôles et leurs coordonnées, ainsi qu'une fonction complexe tendant à déterminer, au clic sur l'écran (on sait faire y compris si on clique sur un vrai contrôle VB), si l'on est dans un des contrôles non VB "fabriqués"... Oui mais voilà ! il faudrait en plus (puisque ce ne seraient pas des contrôles VB, décider d'événements à créer lorsque le clic se fait sur un de ces "contrôles" non gérés par VB... etc... etc...
    Pour tout résumer... et de fil en aiguille... il faudrait tout "simplement" faire un nouveau VB (et une fois fait,... ne plus se servir de VB )
    Que tal ?
    Has entendido ahora ?

  16. #36
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 332
    Points : 718
    Points
    718
    Par défaut
    salut,

    ça réveille de bon matin, ton explication est tout à fait rationnelle et empreinte de bon sens. Merci. Tout ça coule de sens.
    Xavier

  17. #37
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Bonne journée, Asdorve.

  18. #38
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 332
    Points : 718
    Points
    718
    Par défaut
    Pareillement
    Xavier

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [VB6] Recherche un outil contre le reverse engineering
    Par chimay62 dans le forum Installation, Déploiement et Sécurité
    Réponses: 0
    Dernier message: 06/07/2009, 14h44
  2. [vb6] Rotation d'un rectangle
    Par Asdorve dans le forum Vos contributions VB6
    Réponses: 106
    Dernier message: 05/07/2006, 12h06
  3. [VB6]definir un point de rotation
    Par liquidnitrogen dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 06/04/2006, 21h43
  4. [VB6] mettre en commentaires...
    Par nd25 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 19/04/2004, 16h15
  5. Réponses: 1
    Dernier message: 22/08/2002, 18h00

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