Crée dynamiquement un tab et y placer 2 RichEdit

Résolu
taye78 Messages postés 106 Date d'inscription mardi 18 juin 2002 Statut Membre Dernière intervention 13 janvier 2007 - 1 mai 2003 à 12:22
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 - 22 mai 2003 à 13:51
Salut, j'aimerais savoir comment crée dynamiquement un tab (ds un TabbedNotebook) enfin sa encore je sais comment faire (NomDuControle.Pages.Add();) mais le problème est que je voudrais y mettre 2 RichEdit et les placés a des endroits spécifiques (bien les alignés quoi [Heigth,width]) (donc les crées dynamiquement puis remplir leur propriété heigth et width pour les placés sur la form) et bien les mettre ds le tab que l'on vient de crée!

j'en ai extrèmement besoin si quelqu'un pourrait m'aidé ..

Merci.

4 réponses

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
1 mai 2003 à 15:38
Désolé si c'est un peu long, mais c'est dû aux explications 8-)
procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
  RichEdit : TRichEdit;
  TabPage : TTabPage; //Non documenté dans l'aide de Delphi
begin
  { Création de deux onglets supplémentaires sur le
  composant TTabNoteBook}

  for i := 0 to 1 do
    with TabbedNoteBook1 do
    begin
      //La page créée devient la page courante
      PageIndex := Pages.Add('Page ' + IntToStr(Pages.Count + 1));

      {La classe TTabPageAccess étant déclarée dans
       la partie implémentation de l'unité TabNotBk.pas,
       nous ne pouvons y accéder directement. En réalité,
       la propriété Pages du composant TTabNoteBook est une
       TStrings qui stocke une référence dans la propriété
       Objects de chaque ligne. Il suffit de transtype cette
       dernière en TTabPage et nous obtenons la rédérence sur le
       Parent du RichEdit que nous créons juste après.}
      TabPage := TTabPage(Pages.Objects[PageIndex]);

      {Attention : la fiche reste propriétaire du contrôle RichEdit.
      Si vous observez la vue arborescente des objets
      (dans le menu voir), vous remarquerez que le composant
       TTabNoteBook ne possède aucun des composants que l'on dépose
       sur sa surface.}
      RichEdit := TRichEdit.Create(Self);
      
      {Maintenant, y'a plus qu'à...}
      RichEdit.Parent := TabPage;
      RichEdit.Align := alClient;
    end;
end;

Pour les propriétés Height et Width, je ne me suis pas cassé la tête :-p .
Merci qui ?
May Delphi be with you
3
taye78 Messages postés 106 Date d'inscription mardi 18 juin 2002 Statut Membre Dernière intervention 13 janvier 2007
11 mai 2003 à 11:10
Merci beaucoup ca marche impek ! maintenant (lol encore un truc), j'aimerais savoir comment contrôlés ces derniers !
car je t'explique , je fais un client IRC et donc a chaque fois qu'un nouveau salon est join, un tab est crée avec 1 RichEdit et 1 ListView dans ce dernier.

Et donc a chaque fois que du texte va être recu sur un salon, je récupère le nom du salon (qui est le caption du Tab crée precedement et le nom du RichEdit (ex: Text du tab= #speak, nom du richedit= speak)) et j'aimerais ajoutés des mots (richedit1.lines.add('...')) dans le richedit!

Merci beaucoup !
0
Pegase20 Messages postés 5 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 26 mai 2003
22 mai 2003 à 09:53
j'ai essayé ce que vous avez mis mais pour moi le probleme, c'est que mon tabbednotebook se trouve dans une autre form que le boutton ou je clique, et qu'il ne connait pas le TTabPage.

merci d'avance
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
22 mai 2003 à 13:51
C'est taye78 qui pose les questions ou quoi ?

Pour pegase20 : pose une nouvelle question sur le forum car ton problème est d'une portée plus générale : "création dynamique de composants sur une autre fiche".
May Delphi be with you
0
Rejoignez-nous