Des petites fenêtres alignées qui se positionnent et s'ouvrent/ferment par simple clic sur la barre de titre

Soyez le premier à donner votre avis sur cette source.

Vue 6 782 fois - Téléchargée 848 fois

Description

Ce package introduit 2 nouveaux composants: TScrollPanel et TTitlePanel. Ils seront installés dans la page "Win32"

Le premier sert de parent pour les seconds, un peu comme un TPageControl sert de parent à des TTabSheet. Il y a d'ailleurs un éditeur de composant personnalisé: quand on fait un clic avec le bouton droit de la souris sur un TScrollPanel, un menu apparait qui permet de créer facilement un nouveau TitlePanel.

Le but de ce composant (voir capture et programme d'exemple fourni) est de faire une barre de menu sur un des côtés de l'application avec des petits panneaux qui s'ouvrent et se referment par simple clic. Si la hauteur totale des panneaux est trop grande pour tenir dans la fenêtre, une ScrollBar va apparaitre sur le TScrollPanel (d'où son nom) pour permettre de faire défiler les TitlePanels, pourvu que sa propriété AutoScroll soit à True.

Les TitlePanel peuvent aussi s'utiliser seuls. Merci de m'indiquer d'éventuels bugs, et si quelqu'un a l'occasion de l'utiliser sous Win95 ou 98, de me dire si ça marche.

Source / Exemple :


TScrollPanel=class(TScrollingWinControl)
  public
    property TitlePanelCount:Integer read GetTitlePanelCount;           //TitlePanels count
    property TitlePanel[Index:Integer]:TTitlePanel read GetTitlePanel;  //TitlePanel by index
  published
    property Indent:Integer read FIndent write SetIndent;           //Space between panels

    property AutoClose:Boolean read FAutoClose write SetAutoClose;  //If true then TitlePanels are auto-closed when maximizing one
  end;

  TTitlePanel=class(TWinControl)
  published
    property TitleHeight:Integer read FTitleHeight write SetTitleHeight;                 //Height of the title bar...
    property BorderColor:TColor read FBorderColor write SetBorderColor;                  //Border color...

    property Index:Integer read GetIndex write SetIndex nodefault;                       //Index in ScrollPanel parent. -1 if the TitlePanel has no parent ScrollPanel.

    property ScrollPanel:TScrollPanel read FScrollPanel write SetScrollPanel;            //Scroll panel parent

    property OpenClientHeight:Integer read FLastClienHeight write SetOpenClientHeight;   //CLientHeight when open
    property Open:Boolean read FOpen write SetOpen;                                      //Open or not...
  end;

Conclusion :


Pour essayer le composant:
-Compiler et installer le package ScrollPanel_D7.dpk (dans le répertoire Lib/)
-Compiler et exécuter le programme Project1.dpr (dans le répertoire Example/)

Le code est dans la catégorie débutant, car les Title et Scroll Panels sont faciles à utiliser, le package est de niveau Expert.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.