Announcement

Collapse
No announcement yet.

tcanvas

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

  • tcanvas

    hi,

    für einen prozedureparameter suche ich ein allgemeines "mutter-objekt" für tcanvas.<br>
    ich möchte in meinem parameter timage,tpanel,tform eben alle objekte<br> übergeben können die einen canvas haben!!<br>

    was für ein objekt nimmt man da ??

    mfg

    markus
    Herzliche Grüße

    Markus Lemcke
    barrierefreies Webdesign

  • #2
    Ich würde TCustomControl nehme

    Comment


    • #3
      die idee ist gut, aber ich habe verschwiegen, dass das objekt eine eigenschaft picture braucht!!
      da müste man sich was zusammeln basteln, aber wie?

      mfg

      marku
      Herzliche Grüße

      Markus Lemcke
      barrierefreies Webdesign

      Comment


      • #4
        Hi Markus,

        ich würde TCanvas übergeben! Du kannst doch Form1.Canvas, Picture.Canvas usw. an die Prozedur übergeben. Warum willst Du eine übergeordnete Komponente übergeben, dann musst Du nur Typprüfungen innerhalb der Prozedur machen!

        Wofür brauchst Du eine Eigenschaft Picture? Damit fällt ein TBitmap als Prozedur-Parameter weg, der hat keine Eigenschaft Picture! Und TBitmap ist so ziemlich das, was man am häufigsten braucht!

        Gruss

        Ul

        Comment


        • #5
          Hi

          Der kleinste gemeinsamme Nenner wäre dann TCanvas selber,
          also Bitmap.Canvas, printer.Canvas, Form.Canvas, Image.Canvas.

          Gruß hage

          Comment


          • #6
            hier:

            <b>procedure</b> setstrichstaerke(Bild:timage;staerke:integer);<br>
            <b>begin</b><br>
            bild.Canvas.Pen.width := staerke;<br>
            <b>end;</b><br>

            ich habe mehrere prozeduren die auf einem canvas zeichnen. <br>
            ich möchte hier als parameter <b>bild</b> den namen eines formulars angeben können oder aber den namen eines panels usw. versteht ihr?

            gruß

            marku
            Herzliche Grüße

            Markus Lemcke
            barrierefreies Webdesign

            Comment


            • #7
              Hi

              <pre>

              procedure SetCanvas(Canvas: TCanvas; Value: Integer);
              begin
              Canvas.Pen.Width := Value;
              end;

              procedure Set(Object: TObject; Value: Integer);
              begin
              if Object is TCanvas then SetCanvas(TCanvas(Object), Value) else
              if Object is TGraphic then SetCanvas(TGraphic(Object).Canvas, Value) else
              if Object is TControl then SetCanvas(TControl(Object).Canvas, Value) else
              if Object is TPicture then Set(TPicture(Object).Graphic, Value) else usw. usw.
              end;

              </pre>

              Gruß Hage

              Comment

              Working...
              X