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

C++Builder Discussion :

Position d'un TToolButton dans une TToolBar


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �prouv�
    Profil pro
    Inscrit en
    Ao�t 2006
    Messages
    190
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 190
    Par d�faut Position d'un TToolButton dans une TToolBar
    Bonjour,

    Je souhaiterais avoir un controle total sur le positionnement d'un TToolButton inclu sur une TToolBar.

    Apr�s de nombreuses recherches, une �tude attentive du code source de ces deux composants, et une lecture sur la cr�ation de ToolBar sur msdn, je n'arrive pas � d�terminer comment imposer un tel positionnement.

    J'ai beau modifier Left et Top, tout en retirant l'alignement, les bouttons se placent toujours l� o� ils veulent.

    Des tests sur des modifications de la m�thode SetBounds n'ont rien donn�...

    A ce jour, j'en d�duis que cela n'est peut �tre pas possible, surtout que sur MSDN ils parlent bien de la possibilit� de modifier la taille du boutton, mais rien sur un quelconque repositionnement.

    Je souhaiterais avoir votre avis sur la question, et pourquoi pas de nouvelles pistes de recherches.

    Merci d'avance,

    Cordialement,
    Benjamin

  2. #2
    Membre chevronn�
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    349
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 349
    Par d�faut
    Pour le positionnement gauche, tu peux peut-�tre ajouter des s�parateurs (TToolButton style tbsSeparator) et jouer sur leurs largeurs ?

  3. #3
    Membre �prouv�
    Profil pro
    Inscrit en
    Ao�t 2006
    Messages
    190
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 190
    Par d�faut
    Re,

    En fait, je veux vraiment un control total du positionnement du ToolButton.

    La piste du s�parateur me semble �tre un peu de la bidouille que j'aimerai autant �viter. De plus je ne suis pas s�re de pouvoir influer sur le largeur d'un s�parateur.

    Merci tout de m�me cette id�e .

    Cordialement,
    Benjamin

    [Edit] En fait on peut modifier la largeur d'un s�parateur, je viens de v�rifier. Cette piste est donc tout de m�me un bon d�but! Merci. Et maintenant, comment r�aliser des d�placements verticaux?

  4. #4
    Membre chevronn�
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    349
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 349
    Par d�faut
    As tu regard� du cot� de la m�thode CustomAlignPosition ?

  5. #5
    Membre �prouv�
    Profil pro
    Inscrit en
    Ao�t 2006
    Messages
    190
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 190
    Par d�faut
    Re,
    Il me semble que CustomAlignPosition ne renvoie que la nouvelle position d'un composant lorsqu'il y a un alignement.
    Or dans mon cas, mes bouttons sont alNone...
    En fait je ne suis pas certain que l'alignement des TToolButton dans les TToolBar soit d� � la vcl. Je pense plutot que celui-ci est impos� par Windows. Peut-�tre existe-t-il un param�tre de construction qui me permetrai de d�sactiver cet alignement?
    Cordialement,
    Benjamin

  6. #6
    Membre �prouv�
    Profil pro
    Inscrit en
    Ao�t 2006
    Messages
    190
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 190
    Par d�faut
    Bonsoir,
    Voil�, j'ai r�ussi � m'en sortir finalement, et je vous propose donc ma solution.
    Je me suis fait dans un premier temps une classe personnelle ToolBar, h�ritant de TPanel. Ainsi j'ai une souplesse totale quand au positionnement de mes ToolButtons.
    Le probl�me � ce niveau est que les TToolButton de la VCL sont compl�tement d�pendant de TToolBar, je ne pouvais donc pas les utiliser directement.
    J'ai bien essayer dans un premier temps de creer mes propres ToolButtons en partant d'un TSpeedButton. Malheuresement en proc�dent ainsi, je n'avais plus de dropdown ou de s�parateur.
    Finalement, j'ai cr�� une classe personnelle ToolButton, h�ritant aussi de TPanel. Dans cette classe, j'ai un objet TToolBar ayant pour parent le panel et un objet TToolButton ayant pour parent la ToolBar. Dans les �v�nements de resize, je me suis arrang� pour que le panel et la toolbar englobe exactement mon boutton.
    Voil�, la m�thode en elle m�me est un peu une bidouille. Mais au final j'ai un jeu de composant tr�s souple.
    Cordialement,
    Benjamin

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 2
    Dernier message: 23/06/2007, 14h54
  2. position d'un �l�ment dans une liste
    Par john491 dans le forum G�n�ral Python
    R�ponses: 8
    Dernier message: 05/05/2006, 13h13
  3. Position de chaque ligne dans une table
    Par steelidol dans le forum MS SQL Server
    R�ponses: 3
    Dernier message: 16/02/2006, 14h34
  4. Position d'un enregistrement dans une table ou requ�te Query
    Par polinevol dans le forum Bases de donn�es
    R�ponses: 3
    Dernier message: 21/01/2006, 03h53
  5. Position d'un enregistrement dans une table
    Par polinevol dans le forum Bases de donn�es
    R�ponses: 1
    Dernier message: 16/01/2006, 09h10

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