Füllen von RichEdit in PageControl->TabSheet?



  • Hallo ich lasst durch doppelClick auf einen TreeView->Item
    in einem PageControl ein neuen Sheet mit einem RichEdit erzeugen...
    was auch prima funzt!

    So nun habe ich einkommende Msg die ich den einzelnen schon durch doppelklick
    geöffneten RichEdit einfügen! (dabei ist die Caption des Sheet das Vergleichskrterium)

    Das durchsuchen der Sheets ist nicht das Problem nur bei
    ...Lines->Add("String");
    bricht er ab...

    kann mir da jemand einen Tip geben?

    Danke Euch schonmal 😕



  • *sich die Glaskugel von junix auleih*

    Hmm auch nur Rauschen... naja dann sag doch mal wie er "abbricht"??



  • MikeSPK schrieb:

    *sich die Glaskugel von junix auleih*
    Hmm auch nur Rauschen... naja dann sag doch mal wie er "abbricht"??

    lass das schleimen und sag ihm das er Quellcode posten soll wenn er ne antwort erwartet ..
    P.S. Knieschützer bringen dir keine Sympathien ein ..



  • Also so ... steh irgendwie aufem Schlauch... 😕

    void __fastcall Tfrm_main::CmdStringAdd(AnsiString sMsg, AnsiString sProcComp)
    {
     if (PageControl1->PageCount > NULL)
     {
      for (int i = 0; i < PageControl1->PageCount; i++)
      {
       if (sProcComp == PageControl1->Pages[i]->Caption)
       {
        TRichEdit *CurrRichEdit = new TRichEdit(PageControl1->Pages[i]);
        CurrRichEdit->Lines->Add(sMsg);
       }
      }
     }
    }
    


  • //---------------------------------------------------------------------------
    
    #include <vcl.h>
    #pragma hdrstop
    
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    
     if (PageControl1->PageCount > NULL)
     {
      for (int i = 0; i < PageControl1->PageCount; i++)
      {
       if ( PageControl1->Pages[i]->Caption == "TabSheet1")
       {
        TRichEdit *CurrRichEdit = new TRichEdit(PageControl1->Pages[i]);
        CurrRichEdit->Parent = Form1;
        CurrRichEdit->Lines->Add("hallo");
       }
      }
     }
    
    }
    //---------------------------------------------------------------------------
    

    hab ich gemacht mit nem Button,PageControl ( + TabSheet1), Form heisst Form1

    ,mfg



  • Ich hab das jetzt mal getestet und er bricht nicht mehr ab...

    nur erstellt er ein neuen RichEdit und verwendet nicht den der schon da ist?

    void __fastcall Tfrm_main::CmdStringAdd(AnsiString sMsg, AnsiString sProcComp)
    {
     if (PageControl1->PageCount > NULL)
     {
      for (int i = 0; i < PageControl1->PageCount; i++)
      {
       if (sProcComp == PageControl1->Pages[i]->Caption)
       {
        TRichEdit *CurrRichEdit = new TRichEdit(this);
        CurrRichEdit->Parent = PageControl1->Pages[i];
        CurrRichEdit->Lines->Add(sMsg);
       }
      }
     }
    }
    

    er soll den schon vorhandenen benutzen... 😕



  • wenn du den vorhandenen verwenden willst dann nimm den vorhandenen und erzeug keine neue Richedit komponente mit new



  • hm und wie?

    ..ich raffs irgend wie nicht, sorry 😞



  • void __fastcall Tfrm_main::CmdStringAdd(AnsiString sMsg, AnsiString sProcComp) 
    { 
     if (PageControl1->PageCount > NULL) 
     { 
      for (int i = 0; i < PageControl1->PageCount; i++) 
      { 
       if (sProcComp == PageControl1->Pages[i]->Caption) 
       { 
        // hier hast du mal nen neues Richedit erzeugt 
        // TRichEdit *CurrRichEdit = new TRichEdit(this); 
        // brauchst du aber nicht wenn es ein TRichEdit mit 
        // dem Namen CurrRichEdit gibt folglich kannst du auch 
        // CurrRichEdit->Parent = PageControl1->Pages[i]; 
        // weglassen .. 
        CurrRichEdit->Lines->Add(sMsg); 
       } 
      } 
     } 
    }
    


  • also muss ich aus der anderen Funktion (ist bei doppelclick auf TreeView->Items) wo das RichEdit neu erzeugt wird
    auf Klassen ebene setzen!
    damit ich es in dieser verwenden kann!

    Richtig?



  • ja .. 🙂



  • 1ntrud0r schrieb:

    MikeSPK schrieb:

    *sich die Glaskugel von junix auleih*
    Hmm auch nur Rauschen... naja dann sag doch mal wie er "abbricht"??

    lass das schleimen und sag ihm das er Quellcode posten soll wenn er ne antwort erwartet ..
    P.S. Knieschützer bringen dir keine Sympathien ein ..

    OT:
    Öhm.. entschuldige. Bist du gerade mies drauf?
    Kann ja sein, dass dir mein Posting nicht geschmeckt hat.
    Dein Posting war aber auch nicht der Weisheit letzter Schluß.
    Ich komme bestimmt nicht zum schleimen her, dass habe ich nicht nötig solange ich mich einigermaßen höflich verhalte.
    Und Knieschützer trage ich nicht.. nur zur Info...
    Kannst mich aber gerne im OT Forum zusammenstauchen... tu dir keinen Zwang an.
    OT Ende



  • weshalb er hat doch nu ne Lösung oder irr ich 😋



  • Zankt Euch nicht wegen mir...

    ich hab MikeSPK Posting schon richtig verstanden
    das er Code sehen wollte...

    und 1ntrud0r THX... recht haste
    ich hab ne Lösung 🙂

    ...also Vertragt EUCH wieder 🙂


Anmelden zum Antworten