Einzelnen Beitrag anzeigen

Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#1

Controls zur laufzeit einem userControl unterordnen

  Alt 7. Mär 2005, 23:25
Hallo,

ich hab ein kleines problem, welches normalerweise keins wäre, wenn ich es nicht mit den WinForms zu tun hätte

Also eine Control klasse

Code:
    public class DoaViewProperty : Control
    {
        private DaoViewCore daoViewCore;
        private PropertyInfo propertyInfo;

        public DoaViewProperty(DaoViewCore aDaoViewCore, PropertyInfo aPropertyInfo)
            :base()        
        {
            daoViewCore = aDaoViewCore;
            propertyInfo = aPropertyInfo;        

            this.Text = propertyInfo.Name;

            //this.Parent = daoViewCore;
            //daoViewCore.Controls.Add(this);
            daoViewCore.ResumeLayout(false);
            daoViewCore.PerformLayout();
        }

        protected override void OnPaint(PaintEventArgs e)
        {
            base.OnPaint(e);

            e.Graphics.DrawString(propertyInfo.Name, Font, Brushes.Black, new Point(2, 2));
        }
    }
jetzt will ich diese zur laufzeit in ein userControl hängen:

Code:
  // im userControl
   foreach (PropertyInfo pi in modelType.GetProperties())
                { 
                 
                    using(DoaViewProperty dvp = new DoaViewProperty(this, pi))
                    {
                        dvp.AutoSize = false;
                        dvp.BackColor = System.Drawing.SystemColors.ControlDark;
                        dvp.Location = new System.Drawing.Point(0, 0);
                        dvp.Name = "mu";
                        dvp.Size = new System.Drawing.Size(100, 16);
                        dvp.TabIndex = 0;

                        Controls.Add(dvp);                   }
                }

                Update();
So, die schleife läuft er prima durch. Er übergibt alle nötigen daten, ohne fehler. ABER es erscheint kein Control!

Wie geht der trick, die WinForms zu überreden dies zu tun? (kann auch delphi code sein) (benutze VS 2005, sollte aber hier nix zur sache tun).

mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat