|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Développeur informatique Inscription : avril 2009 Messages : 257 ![]() |
Bonjour à tous,
Sur ma page d'accueil, j'utilise des TJvXPBar qui intègre les différentes options du menu cependant tous les utilisateurs n'auront pas accès à toute les options (géré par des droits) donc certains éléments sont non visibles cependant ça laisse des trous sur la page d'accueil. Donc je souhaiterai si possible, modifier le positionnement des TJvXPBar dès qu'un élément est non visible. Pouvez-vous m'aider ? Merci d'avance |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() Développeur C++\Delphi Inscription : juillet 2006 Messages : 9 195 ![]() |
C'est le problème de partir d'une barre créée en DesignTime et de cacher en RunTime
le plus efficace étant de tout créer au RunTime en fonction des habilitations ! Lors du change de session, tu détruis tout et tu recrées tout ! Dans l'application que je maintiens (je le découvre ce matin, j'avais encore jamais regardé cette partie, je travaille dans un tout autre module), le comportement est celui que tu souhaites cela instancie les TToolButton à la volée et les ajoutent via InsertControl dans le TToolBar et modifie Width à chaque ajout Je n'ai pas de code (même en C++) à te fournir, c'est un vrai foutoir et cela ne te parlerait pas, mes prédécesseurs ont réinventé la roue carrée par méconnaissance de la RTL\VCL
__________________
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y ! Attention Troll Méchant ! ![]() "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer ! L'ignorance n'excuse pas la médiocrité ! L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde) Il faut avoir le courage de se tromper et d'apprendre de ses erreurs Halte à la ségrégation des Cinémas, VO sur Paris, VF en Banlieue, Abonnement résilié ! |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Développeur informatique Inscription : avril 2009 Messages : 257 ![]() |
Merci pour ta réponse, je t'avoue que j'ai pas tout compris
car ta réponse est très technique, je vais regarder du côté d'InsertControl |
|
|
00
|
|
|
#4 | ||
|
Expert Confirmé Sénior
![]() Développeur C++\Delphi Inscription : juillet 2006 Messages : 9 195 ![]() |
Pour un TToolButton \ TToolBar
Habilites c'est une liste d'objet contenant tes droits, une TStringList peut être un début Les ToolBar sont dans un TControlBar, tu peux jouer Left et peut-être même les Anchors Chaque ToolBar est identifié par une Category, une chaine pouvant être le nom de la ToolBar Chaque ToolButton est identifié par un ID, le tag .... Je te laisse trouver les équivalents JEDI VCL Code :
__________________
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y ! Attention Troll Méchant ! ![]() "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer ! L'ignorance n'excuse pas la médiocrité ! L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde) Il faut avoir le courage de se tromper et d'apprendre de ses erreurs Halte à la ségrégation des Cinémas, VO sur Paris, VF en Banlieue, Abonnement résilié ! |
||
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Développeur informatique Inscription : avril 2009 Messages : 257 ![]() |
Merci mais ta proposition me renvoie vers un menu classique, tu pourras voir en pièce jointe un aperçu du menu.
Ce que je souhaiterai si c'est possible, c'est si la partie Gestion de Devis est non visible que la partie centrale de réparation remonte et ne pas avoir un trou entre les 2. |
|
|
00
|
|
|
#6 | ||
|
Expert Confirmé Sénior
![]() Développeur C++\Delphi Inscription : juillet 2006 Messages : 9 195 ![]() |
Mes propos sont aussi applicables à un TCategoryPanelGroup ou TCategoryButtons qui serait le plus proche de ce TJvXPBar, ce dernier ressemble à un TOutlookBar à l'époque de D5
Tous ces composants se ressemblent, ils ont forcément les méthodes d'Ajout de Category et l'ajout de Button au sein d'une Category Justement j'ai aidé un collègue sur TCategoryButtons, même comportement que toi l'idée fut d'avoir un TCategoryButtons complet et un TCategoryButtons vide Lors de l'authentication, le second TCategoryButtons était complètement vidé et l'on recopiait le contenu du premier TCategoryButtons Avoir deux TCategoryButtons était plus simple pour créer via le Builder que de tout créer à la main ! Une grosse flemme, en plus cela permet de mieux visualiser ce qui existe dans le menu que de tout avoir dans code, pas élégant mais pratique Les deux TCategoryButtons étant lié à la même TImageList et la même TActionList Dans le code de mon collègue, cela gère un seul bouton par category, je le modifie approximativement pour gérer un nombre variable de bouton Code c++ :
Les category sans button peuvent être supprimer via Code :
CategoryButtons2->Categories->Delete(ItemIndex); voir l'image pour une idée du résultat à gauche, le TCategoryButtons contenant tous les menus à droite, le TCategoryButtons vide dans lequel on affecte
__________________
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y ! Attention Troll Méchant ! ![]() "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer ! L'ignorance n'excuse pas la médiocrité ! L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde) Il faut avoir le courage de se tromper et d'apprendre de ses erreurs Halte à la ségrégation des Cinémas, VO sur Paris, VF en Banlieue, Abonnement résilié ! |
||
|
|
10
|
|
|
#7 |
|
Membre du Club
![]() Développeur informatique Inscription : avril 2009 Messages : 257 ![]() |
Merci pour toutes ses précisions et cet exemple, je regarde ça attentivement à priori ça correspond bien à ce que j'attends (si je peux espacer mes sous menus et ne pas les collés comme dans l'application de ton collègue)
|
|
|
00
|
|
|
#8 |
![]() ![]() Serge GirardDéveloppeur informatique Inscription : janvier 2007 Messages : 4 211 ![]() |
Je n'ai pas contrôlé à fond , mais pour les JVXPBars les propriétés visible et align (alTop) sont utilisables .
Si dans le cas exposé tu ne veux pas afficher le jvXPBar 'Devis' , il te suffit de le rendre invisible , si le jvXPBar en dessous à la propriété align=alTop , il remontera tout seul à l'intérieur du jvXPContainer ps. il manque un 't' a gestion
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius Si votre seul outil est un marteau, vous aurez tendance a ne voir que des clous |
|
|
00
|
|
|
#9 |
|
Membre du Club
![]() Développeur informatique Inscription : avril 2009 Messages : 257 ![]() |
Bonjour,
Merci pour ta réponse mais je n'utilise pas de container parce que sinon ils sont empilés et il n'y a pas d'espaces entre mes sous-menus ce qui présentent - bien et fait beaucoup + "entassé". |
|
|
00
|
|
|
#10 |
![]() ![]() Serge GirardDéveloppeur informatique Inscription : janvier 2007 Messages : 4 211 ![]() |
oui , les espaces , je n'y avais pas pensé (c'est pour cela que je n'utilise pas jvXPBars mais plutôt les TJVNavxxxxx) , cependant rien n'empêche d'ajouter dans le container (qui n'est ni plus ni moins qu'un panel amélioré) des panels servant de séparateurs
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius Si votre seul outil est un marteau, vous aurez tendance a ne voir que des clous |
|
|
10
|
|
|
#11 |
|
Membre du Club
![]() Développeur informatique Inscription : avril 2009 Messages : 257 ![]() |
Bonne idée en effet merci pour les panels séparateurs mais le problème c'est que j'ai 2 colonnes de menu donc si je mets du alTop celui qui peut tout voir ne verra pas tout le menu
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com