Announcement

Collapse
No announcement yet.

Hilfe !??? TMyPanel als abgeleitetes TPanel zeigt keine eingebetten Visuellen Komponenten

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Hilfe !??? TMyPanel als abgeleitetes TPanel zeigt keine eingebetten Visuellen Komponenten

    Wenn ich im überschriebenen 'Create' meines abgeleiteten Objects neue visuelle Komponenten (Panels, TDBGrid, ect) erzeuge und darstellen will, werden diese nicht visualisiert. ('parent' wird gesetzt)
    Wer kann mir helfen ??

  • #2
    Poste bitte mal Deine Create Procedure, könnte verschiedene Ursachen haben.. (inheritted rufst Du aber als erstes auf, oder

    Comment


    • #3
      in Componentstate muß csAcceptControls (oder so ähnlich) gesetzt werden, tut aber eigentlich schon TPanel - ansonsten könnten deine komponenten auch mit top = -34534 irgendwo rumschwirren, oder s.o., oder noch was anderes?&#223

      Comment


      • #4
        Hallo,

        hab ein ähnliches Problem.
        1. Ich will die Caption von meinem Panel leer haben. Funktioniert aber nicht.

        2. Ich hab eine ComboBox uaf dem Panel. Kann ich zur Designzeit schon Einträge haben, oder geht das erst zur runtime ?

        Wäre gut, wenn mir jemand helfen könnte.
        mf

        Comment


        • #5
          hi,

          Steffen Späthe, hmm mal ganz einfach und pauschal ne Idee, einfach ne procedure in der du alles vor addest und zur Laufzeit in einträgst, hmm müßte ich selber mal schauen bin nur gerade nicht an meinem PC ...

          Gruß Björ

          Comment


          • #6
            Hallo Steffen,<br>damit das Panel keine Caption<br>anzeigt musst Du folgenden Code<br>in den constructor aufnehmen:<br>
            ControlStyle:=ControlStyle-[csSetCaption]

            Comment


            • #7
              Hallo an Alle !

              Das Ding mit den visuellen Komponenten habe ich folgend gelöst:

              ...create;
              fLabel:=TLabel.Create(self);
              insertcontrol(fLabel);
              end;

              Beim create des Labels bitte unbedingt "self" angeben, das ist parent!
              "insertcontrol" fügt das Label erst in die Komponentenliste des Panels ein. (TPanel.Controls)
              Bitte das Entfernen im Destructor nicht vergessen.

              ...destroy
              removecontrol(fLabel);
              freeandnil(fLabel);
              end;

              @Steffen: Caption kann einfach an der richtigen Stelle (sollte klappen) zurückgesetzt werden.
              Überschreiben der methode Loaded...

              protected
              procedure Loaded; override;

              ...

              procedure Tirgenfwas.Loaded;
              begin
              inherited Loaded;
              Caption:='';
              end;

              Gruß, Matthia

              Comment

              Working...
              X