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 :

comment deplacer les boutons de controle d'une fenetre de droite à gauche de la fenetre sous vb6?


Sujet :

VB 6 et antérieur

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 26
    Points : 32
    Points
    32
    Par défaut comment deplacer les boutons de controle d'une fenetre de droite à gauche de la fenetre sous vb6?
    salut,
    comment deplacer les boutons fermer (x) & rduire(-) & grandir d'une fentere de droite à gauche de la fenetre sous vb6?

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Février 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 517
    Points : 617
    Points
    617
    Par défaut
    salut

    je n'ai pas VB6 sous la main, mais je viens d'essayer avec VBA (en extrayant le hwnd d'un userform alors que toi tu peux directement utiliser Me.hwnd) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
     
    Private Sub Form_Activate()
        SetWindowLong Me.hwnd, -20, &H8000
        SetLayeredWindowAttributes Me.hwnd, -6, 255, &H2&
    End Sub
    dis-moi si vb6 réagit correctement (ça m'intéresse).

  3. #3
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 806
    Points
    5 806
    Par défaut
    Sauf erreur de ma part, ces boutons sont des propriétés intrinsèques du système. Même la propriété RightToLeft ne concerne que le mode d'affichage du texte si la fonctionnalité Bidirectionnelle du système est activée(pour l'Arabe par exemple).
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Février 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 517
    Points : 617
    Points
    617
    Par défaut
    Citation Envoyé par l_autodidacte Voir le message
    Sauf erreur de ma part, ces boutons sont des propriétés intrinsèques du système. Même la propriété RightToLeft ne concerne que le mode d'affichage du texte si la fonctionnalité Bidirectionnelle du système est activée(pour l'Arabe par exemple).
    salut

    rien à voir avec la propriété RightToLeft !
    As-tu essayé (je suis intéressé) ?
    J'ai en fait besoin d'être certain de ce que les valeurs passées par tâtonnements successifs pour un UserForm VBA sont les mêmes pour une Form de VB6 (bien qu'a priori, je ne vois pas pourquoi, s'agissant de fenêtres Windows, elle ne seraient pas les mêmes ! )

  5. #5
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 806
    Points
    5 806
    Par défaut Je n'ai pas vu ton 1er message
    Désolé de n'avoir vu ton message qu'après avoir envoyé le mien.(Donc mon message était en réponse à salimo79).

    Effectivement, ça marche. Je ne le savais pas et je dois apprendre beaucoup plus et voici une nouvelle chose que je viens d'apprendre.

    Merci pour cette astuce.

    Rq : J'ai invoqué la propriété RightToLeft pour le cas où on serait tenté de l'essayer.
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

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

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 178
    Points
    17 178
    Par défaut
    Je trouve dommage que les boutons system ne soient pas aussi inversées ...... ......... ........ plaisanterie, je garde çà sous le coude, bien que je n'en vois pas l'utilité, l'important est que cela répond exactement à la demande du créateur de la discussion. babaothe
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  7. #7
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 806
    Points
    5 806
    Par défaut
    Juste une précision : L'utilisation de "SetLayeredWindowAttributes" est en fait superflue si ce n'est que pour la transparence de la feuille car "SetWindowLong" suffit à la demande.

    Chose curieuse, si on fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SetWindowLong Me.hWnd, -20, &H3000
    on voit les boutons avancer(descendre un peu) quand la souris passe sur la barre de titres.
    et pour les voir monter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SetWindowLong Me.hWnd, -20, &H20000
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  8. #8
    Inactif  
    Profil pro
    Inscrit en
    Février 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 517
    Points : 617
    Points
    617
    Par défaut
    salut l'autodidacte

    Je vois que tu as pris goût aux tâtonnements, à ton tour
    C'est hélas quelquefois le seul moyen, avec certaines fonctions de l'Api de Windows.
    Et on fait toujours des découvertes. Exemple (essaye) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SetWindowLong Me.hwnd, -20, -26880
    Amuse-toi bien

  9. #9
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Citation Envoyé par salimo79 Voir le message
    salut,
    comment deplacer les boutons fermer (x) & rduire(-) & grandir d'une fentere de droite à gauche de la fenetre sous vb6?
    En dehors des solutions évoquées, je trouve cela dommage, car tu vas déstabiliser les utilisateurs de ton application, et cela est préjudiciable en terme d'ergonomie.

    Philippe

  10. #10
    Inactif  
    Profil pro
    Inscrit en
    Février 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 517
    Points : 617
    Points
    617
    Par défaut
    Citation Envoyé par Philippe JOCHMANS Voir le message
    Bonjour



    En dehors des solutions évoquées, je trouve cela dommage, car tu vas déstabiliser les utilisateurs de ton application, et cela est préjudiciable en terme d'ergonomie.

    Philippe
    Je plussoie .
    Et comme ProgElecT, je n'en vois vraiment pas l'intérêt .

  11. #11
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 806
    Points
    5 806
    Par défaut
    je n'en vois vraiment pas l'intérêt
    La personne ayant créé la discussion est peut-être en train de développer une application BIDI(Arabe ou autre). Si son application utilise des menus, ils seront affichés de droite à gauche.
    De ce fait, le déplacement des boutons système vers la gauche cadre bien avec le thème général de l'application. (comme pour toute application non bidi).
    Peut-être aussi qu'on lui a demandé un tel travail(s'il est étudiant ou en stage).

    Bien sûr, la fonctionnalité des boutons est toujours la même quel que soit le sens de leur affichage
    Ce n'est qu'une idée mais c'est à salimo79 d'en décider.
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  12. #12
    Inactif  
    Profil pro
    Inscrit en
    Février 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 517
    Points : 617
    Points
    617
    Par défaut
    ouais...bon...
    1) le seul intérêt que j'y ai personnellement vu, c'était celui de la possibilité offerte de définir le style de la barre de titre et de ses menus (exercice purement de style). Fait...
    2) la seule fois (dans toute ma vie) où j'ai dû modifier le style de cette barre de titre avait un tout autre propos. Il s'agissait (sans modifier les paramètres système et donc influer sur toutes les fenêtres et non la seule en cours) de modifier la taille : tant des boutons eux-mêmes que du caption du Form, de sorte à pouvoir tout "faire tenir" dans une largeur plus réduite. Mais bon ! c'est un autre problème (qui a sa solution également, mais dont je ne traiterai pas ici, puisque tel n'était pas celui du demandeur )

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/03/2008, 18h00
  2. comment deplacer les controles d un formulaire a l execution
    Par ZashOne dans le forum Windows Forms
    Réponses: 3
    Dernier message: 15/02/2008, 00h29
  3. Comment positionner les boutons sur une applet ?
    Par jayjay.f dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 10/11/2006, 07h13
  4. Réponses: 5
    Dernier message: 25/10/2006, 11h44
  5. [Scripts] Comment avoir les boutons style XP
    Par Didier69 dans le forum Général Dotnet
    Réponses: 26
    Dernier message: 18/05/2005, 15h28

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