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 :

Probléme avec RzPageControl


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2006
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 30
    Par défaut Probléme avec RzPageControl
    Bonjour,

    Je travaille en ce moment avec le composant RzPageControl de Raize, RzPageControl1 contient tabsheet1 ou j'ai mis la propriété visible de RzPageControl1 a false ainsi que tabsheet1 dans la procedure FormCreate
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RzPageControl1.Pages[0].tabVisible := false;
    Pour faire apparaitre tabsheet1 je clic sur un bouton qui contient le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    RzPageControl1.Visible:= true;
    RzPageControl1.Pages[0].tabVisible := true;
    RzPageControl1.ActivePageIndex:= 0;
    end;
    Maintenant pour fermer tabsheet1 j'ai mis dans l'inspecteur d'objet la propriété de RzPageControl1 "show close button on active tab" à true et dans l'événement onclose le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TForm1.RzPageControl1Close(Sender: TObject; var AllowClose: Boolean);
    begin
    AllowClose:= true;
    end;
    Je compile mon projet pour voir le résultat, dans la form1 uniquement le button1 qui est visible je clic sur ce dernier tabsheet1 s'affiche avec tous mes composant à l'intérieur pour la fermer je clic sur le bouton fermer dans l'onglet elle se ferme correctement mais le problème est que après avoir fermé tabsheet1 si je veux la réouvrir elle s'affiche sans les composants que j'ai mis à l'intérieur et en même temps avec un message d'erreur "Violation d'accès à l'adresse 004A3D07 dans le module projects1.exe lecture de l'adresse 00000061." je n'ai pas trouvé de solution aidé moi SVP et merci.

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 938
    Billets dans le blog
    6
    Par défaut
    A la fermeture, que tu autorises par AllowClose:= True, le RzPageControl ne supprime-t-il pas la page (testable par if Assigned(...)) ?

    Il suffirait de la cacher, si tu veux pouvoir la rouvrir.

    Je ne sais pas si AllowClose mis à False cache simplement ou ne fait rien (dans ce cas, jouer dans le OnClose sur la propriété Visible, peut-être).
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  3. #3
    Membre averti
    Inscrit en
    Janvier 2006
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 30
    Par défaut
    Merci pour la réponse mais comment faire pour rendre RzPageControl1 et tabsheet1 invisible.

  4. #4
    Membre confirmé
    Homme Profil pro
    Consultant en développement
    Inscrit en
    Septembre 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant en développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 19
    Par défaut
    Salut,

    Dans le code que tu donnes, dans ton Button1Click tu les rends visibles avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RzPageControl1.Visible:= true;
    RzPageControl1.Pages[0].tabVisible := true;
    Tu devrais pouvoir les rendre invisible comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RzPageControl1.Visible:= false;
    RzPageControl1.Pages[0].tabVisible := false;

    Enfin j'espère

  5. #5
    Membre averti
    Inscrit en
    Janvier 2006
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 30
    Par défaut
    Bonjour;

    Merci pour la réponse ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RzPageControl1.Visible:= false;
    RzPageControl1.Pages[0].tabVisible := false;
    fonctionne mais avec une seul tabsheet dans RzPageControl1 si je dois insérer 02 ou 03 tabsheet dans RzPageControl1 avec ce même code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RzPageControl1.Visible:= false;
    RzPageControl1.Pages[0].tabVisible := false;
    RzPageControl1.Pages[1].tabVisible := false;
    RzPageControl1.Pages[2].tabVisible := false;
    je compile mon projet et je vais ouvrir les 03 tabsheet pour fermer la première et laissé les deux autres je clic sur bouton fermé de tabsheet 1 et tous mes tabsheet avec RzPageControl1 ce referme en même temps.

  6. #6
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 938
    Billets dans le blog
    6
    Par défaut
    Quid d'un code du style :
    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
    procedure TForm1.RzPageControl1Close(Sender: TObject; var AllowClose: Boolean);
    var
      TheTabToClose: TTabSheet = nil;
      CloseIndex: integer;
    begin
      AllowClose:= False;
     
      if Sender is TTabSheet
      then begin
        for i:=0 to Pred(RzPageControl1.Pages.Count) do 
        if RzPageControl1.Pages[i]=TTabSheet(Sender)
        then begin
          TheTabToClose:=TTabSheet(Sender);
          CloseIndex:=i;
          Break;
        end;
      end;
     
      if Assigned(TheTabToClose)
      then begin
        RzPageControl1.Pages[CloseIndex].TabVisible:=False;
        RzPageControl1.ActivePageIndex:= -1; // ou un autre qui reste ouvert
      end;
     
    end;
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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