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

Composants VCL Delphi Discussion :

TPanel avec case à cocher


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    866
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 866
    Par défaut TPanel avec case à cocher
    bonjour,

    je recherche un composant panel qui a une case à cocher sur sa partie superieur afin de valider/devalider son contenu ?

    il me semble que ca existe dans un pack de composants mais je ne me rapelle plus son nom ?

    merci

  2. #2
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    LA case a cocher est "dans" le panel ?

    Pourquoi ne pas derriver un TCustomPanel qui contiendrais en private un TCheckBox et 2 ou 3 methodes/proprietes pour le piloter ?

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    866
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 866
    Par défaut solution trouvée
    bonsoir,

    finalement j'ai trouvé la solution:

    elle se trouve dans le pack abf: c'est le composant TabfGroupBox

    voir le lien suivant:
    http://www.abf-dev.com/download.shtml#free-tools

    A+

  4. #4
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    merci de faire partager l'info

    Par contre :

  5. #5
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Salut,

    Merci pour l'info .

    Cependant, j'essaie de faire ce composant moi même et au lieu de dériver le composant du TCustomPanel je le dérive de TPanel. Aussi, un petit soucis ce pose, c'est que si on déclare le TCheckbox et qu'on lui dit qu'il a comme parent le panel, si on met ceci : MonPanelCheckbox.Enable:=false, on a plus accès au checkbox (ce qui est logique ). Donc, je me demande comment tu aurais fait Clorish pour faire ce petit composant ...

    Vite fait j'ai pondu ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    type
      TPanelCheck=class(TPanel)
      private
      CheckBox:TCheckBox;
      isChecked:boolean;
      public
      constructor Create(AOwner:TComponent);override;
      destructor Destroy;override;
      procedure SetChecked(Value:boolean);
      published
      property Checked:boolean read isChecked write SetChecked;
     
    end;
    implementation
     
    constructor TPanelCheck.Create(AOwner:TComponent);
    begin
    inherited;
    CheckBox:=TCheckBox.Create(Self);
    CheckBox.Parent:=Self;
    CheckBox.Left:=1;
    CheckBox.Top:=1;
    CheckBox.Caption:='';
    end;
     
    procedure TPanelCheck.SetChecked(Value:boolean);
    begin
      if Value<>isChecked then
      begin
        isChecked:=Value;
        Self.Enabled:=false;
        ShowMessage('Checked');
        CheckBox.Enabled:=true;
        CheckBox.State:=cbChecked;
      end;
    end;
     
    destructor TPanelCheck.Destroy;
    begin
    CheckBox.Free;
    inherited;
    end;
    C'est vraiment fait en 10min et là n'ayant plus le temps de m'y remettre avant ce soir, je post ce que j'ai fait

    Merci (et si il faut ouvrir un autre topic, je le ferai)

  6. #6
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 491
    Par défaut
    salut

    pour la gestion du click sur la checkbox

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     TPanelCheck=class(TPanel)
      private
        CheckBox:TCheckBox;
        isChecked:boolean;
      Protected
       procedure ClickCheckBox(Sender: TObject);
      public
        constructor Create(AOwner:TComponent);override;
        destructor Destroy;override;
        procedure SetChecked(Value:boolean);
      published
        property Checked:boolean read isChecked write SetChecked;
      end;
    
    
    constructor TPanelCheck.Create(AOwner:TComponent);
    begin
      inherited;
      CheckBox:=TCheckBox.Create(Self);
      CheckBox.Parent:=Self;
      CheckBox.Left:=1;
      CheckBox.Top:=1;
      CheckBox.Caption:='';
      CheckBox.Alignment := taLeftJustify;
      CheckBox.OnClick := ClickCheckBox;
      CheckBox.Visible := True;
    end;
     
    
    procedure TPanelCheck.ClickCheckBox(Sender: TObject)
    begin
       TCheckBox(Sender).Checked := not TCheckBox(Sender).Checked;
       // ici je fait ce que je veut
       invalidate;
    end;
    @+ Phil

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. TreeView avec case à cocher
    Par da_latifa dans le forum Delphi
    Réponses: 9
    Dernier message: 07/10/2006, 01h01
  2. Showmessage avec case à cocher
    Par ife dans le forum Delphi
    Réponses: 3
    Dernier message: 20/07/2006, 11h19
  3. CListCtrl avec case à cocher
    Par bebel72 dans le forum MFC
    Réponses: 5
    Dernier message: 20/06/2006, 14h54
  4. Réponses: 2
    Dernier message: 31/03/2006, 15h35
  5. Treeview avec case à cocher
    Par valoji dans le forum Composants VCL
    Réponses: 4
    Dernier message: 28/01/2006, 21h35

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